⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 circlemenucanvas.java

📁 public class CircleMenuCanvas extends Canvas implements Runnable{ double pi = Math.PI public fi
💻 JAVA
字号:
package cn.com.liujun;
import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
/**
 * @author 刘军
 * @deprecated 你可以随意传播本程序
 */
public class CircleMenuCanvas extends Canvas implements Runnable{
	double pi = Math.PI;
	public final int MENURIGHT = 1;
	public final int MENULEFT = 0;
	Image menuImage[] = new Image[6];
	int []jiaodu = {330,30,90,150,210,270};
	String menuName[] = {"新游戏","继续游戏","游戏设置","高分榜","游戏帮助","退出游戏"};
	int x = getWidth()/2;
	int y = getHeight()/2;
	int count = 0;
	int local;
	int index = 0;
	Font f;
	boolean running = false;
	/**
	 * 构造方法
	 *
	 */
	public CircleMenuCanvas() {
		super();
		for(int i=0;i<6;i++)
		{
			int s = i+1;
			try {
				menuImage[i] = Image.createImage("/res/"+s+".png");
			} catch (IOException e1) {
				e1.printStackTrace();
			}
		}
		f = Font.getDefaultFont();
		
	}
	/**
	 * @param g 画笔
	 */
	protected void paint(Graphics g) {
		g.setColor(0xffffff);
		g.fillRect(0,0,getWidth(),getHeight());
		g.drawLine(x,y,x,y);
		g.drawImage(menuImage[0],(int)(x+50*Math.cos(Math.toRadians(jiaodu[0]))),(int)(y-50*Math.sin(Math.toRadians(jiaodu[0]))),Graphics.HCENTER  |Graphics.VCENTER);
		g.drawImage(menuImage[1],(int)(x+50*Math.cos(Math.toRadians(jiaodu[1]))),(int)(y-50*Math.sin(Math.toRadians(jiaodu[1]))),Graphics.HCENTER  |Graphics.VCENTER);
		g.drawImage(menuImage[2],(int)(x+50*Math.cos(Math.toRadians(jiaodu[2]))),(int)(y-50*Math.sin(Math.toRadians(jiaodu[2]))),Graphics.HCENTER  |Graphics.VCENTER);
		g.drawImage(menuImage[3],(int)(x+50*Math.cos(Math.toRadians(jiaodu[3]))),(int)(y-50*Math.sin(Math.toRadians(jiaodu[3]))),Graphics.HCENTER  |Graphics.VCENTER);
		g.drawImage(menuImage[4],(int)(x+50*Math.cos(Math.toRadians(jiaodu[4]))),(int)(y-50*Math.sin(Math.toRadians(jiaodu[4]))),Graphics.HCENTER  |Graphics.VCENTER);
		g.drawImage(menuImage[5],(int)(x+50*Math.cos(Math.toRadians(jiaodu[5]))),(int)(y-50*Math.sin(Math.toRadians(jiaodu[5]))),Graphics.HCENTER  |Graphics.VCENTER);
		g.setColor(0);
		g.drawString(menuName[index],x- f.stringWidth(menuName[index])/2,y-5,0);
	}
	public void keyPressed(int keycode)
	{
		int key = getGameAction(keycode);
		
		if((key == Canvas.DOWN || key == Canvas.RIGHT) && running == false)
		{
			local = MENURIGHT;
			Thread t = new Thread(this);
			t.start();
		}
		if((key == Canvas.UP || key == Canvas.LEFT) && running == false)
		{	
			local = MENULEFT;
			Thread t = new Thread(this);
			t.start();
		}
		if(key == Canvas.FIRE)
		{
			//写下你按确定键的代码就好了
		}
	}
	public void run()
	{
		running = true;
		if(local == MENULEFT)
		{
			index--;
			if(index < 0 )
				index = 5;
		}
		if(local == MENURIGHT){
			index++;
			if(index>5)
				index =0;
		}

		while(count<60)
		{
			for(int i=0;i<jiaodu.length;i++)
			{
				if(local == MENULEFT)
					jiaodu[i]++;
				else
					jiaodu[i]--;
			}
			repaint();
			count++;
			int sleep;
			sleep = Math.abs(30 - count);
			try {
				Thread.sleep(sleep);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		count=0;
		running = false;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -