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

📄 firstmenu.java

📁 一个简单的手机游戏,学习J2ME是编写的第一个游戏
💻 JAVA
字号:
//import maze.MazeGameCanvas;
import javax.microedition.lcdui.*;

public class FirstMenu extends Canvas implements CommandListener {
	private int selected = 0;//选中的菜单项
	public Display dis;
	public Maze maze;
	int x,y;
	Font font=Font.getDefaultFont();
	int fontHeight=font.getHeight();
	public static final int[] OPTIONS = {0,1,2,3};
	public static final String[] LABELS={"新游戏","游戏设置","游戏说明","退出"};
	public FirstMenu(Maze mazeMid)
	{
		maze=mazeMid;
		dis=Display.getDisplay(maze);
	}
	public void paint(Graphics g)
	{
		g.setColor(0xffffff);
		g.fillRect(0,0,getWidth(),getHeight());
		//g.setColor(0x000000);
		//g.drawString("string", 0, 0, Graphics.TOP|Graphics.LEFT);
		for(int j = 0;j<LABELS.length;j++){
			x=this.getWidth()/2;
			y=(this.getHeight()-3*fontHeight)/2+fontHeight*j;
			if(selected == j){
				g.setColor(0x6699cc);
			}
			else
			{
				g.setColor(0x0033ff);
			}
			g.drawString(LABELS[j],x,y,Graphics.HCENTER|Graphics.TOP);
		}
	}
	public void commandAction(Command c,Displayable d)
	{}
	public void keyPressed(int keyCode)
	{
		int action=this.getGameAction(keyCode);
		switch(action)
		{
		case Canvas.DOWN:if(selected<3){selected++;}break;
		case Canvas.UP:if(selected>0){selected--;}break;
		case Canvas.FIRE:
			switch(selected){
				case 0:MazeGameCanvas a=new MazeGameCanvas(dis,maze);a.initialize();dis.setCurrent(a);break;
				case 1:choice chi=new choice(dis,maze);dis.setCurrent(chi);break;
				case 2:Description description=new Description(dis,maze);dis.setCurrent(description);break;
				case 3:maze.notifyDestroyed();break;
			}
		}
		repaint();
	}
}
class choice extends Canvas implements CommandListener
{
	private int selected = Maze.isTime;
	int x,y;
	private String[] strChoice={"不计时","计时"};
	Font font=Font.getDefaultFont();
	int fontHeight=font.getHeight();
	private Display dis;
	private Maze mazeChoice;
	public choice(Display display,Maze maze)
	{
		mazeChoice=maze;
		dis=display;
		this.setTitle("游戏设置");
		for(int j=0;j<strChoice.length;j++)
		{
			if(selected==j)
			{
				strChoice[j]+="(√)";
			}
		}
	}
	public void paint(Graphics g)
	{
		g.setColor(0x70db93);
		g.fillRect(0,0,getWidth(),getHeight());
		for(int j = 0;j<strChoice.length;j++){
			x=this.getWidth()/2;
			y=(this.getHeight()-3*fontHeight)/2+fontHeight*j;
			if(selected == j){
				g.setColor(0x6699cc);
				g.drawString(strChoice[j],x,y,Graphics.HCENTER|Graphics.TOP);
			}
			else
			{
				g.setColor(0x0033ff);
				g.drawString(strChoice[j],x,y,Graphics.HCENTER|Graphics.TOP);
			}
		}
	}
	public void commandAction(Command c,Displayable d)
	{
		
	}
	public void keyPressed(int keyCode)
	{
		int action=this.getGameAction(keyCode);
		switch(action)
		{
		case Canvas.UP:if(selected==1){selected=0;}break;
		case Canvas.DOWN:if(selected==0){selected=1;}break;
		case Canvas.FIRE:Maze.isTime=selected;FirstMenu firstMenu=new FirstMenu(mazeChoice);dis.setCurrent(firstMenu);break;
		}
		repaint();
	}
}
class Description extends Canvas implements CommandListener
{
	private Display dis;
	private String strGameDes="游戏说明:";
	private Maze mazeDes;
	private Command cmdReturn=new Command("返回",Command.BACK,1);
	public Description(Display display,Maze maze)
	{
		mazeDes=maze;
		dis=display;
		this.setTitle("游戏说明");
		this.addCommand(cmdReturn);
		this.setCommandListener(this);
	}
	public void paint(Graphics g)
	{
		g.setColor(0xffffff);
		g.fillRect(0,0,getWidth(),getHeight());
		g.setColor(0x000000);
		g.drawString(strGameDes, 0, 0, Graphics.TOP|Graphics.LEFT);
	}
	public void commandAction(Command c,Displayable d)
	{
		if(c==cmdReturn)
		{
			//dis.setCurrent(mazeDes);	
			FirstMenu firstMenu=new FirstMenu(mazeDes);
			dis.setCurrent(firstMenu);
		}
	}
}

⌨️ 快捷键说明

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