📄 mainmenu.java
字号:
import javax.microedition.lcdui.*;
import java.lang.Thread;
public class MainMenu extends Canvas implements Runnable,CommandListener
{
private supermario theMidlet;
private Image Image_bg,Image_mario;
private int menuIndex=0;
private Thread thread;
private Command back,exit;
private boolean isstart;
protected MainMenu(supermario midlet)
{
theMidlet=midlet;
back=new Command("返回",Command.BACK,1);
exit=new Command("退出",Command.EXIT,2);
addCommand(back);
addCommand(exit);
setCommandListener(this);
try{
Image_bg=Image.createImage("/menu.png");
Image_mario=Image.createImage("/smallmario.png");
}catch(Exception ce){}
thread = new Thread(this);
thread.start();
isstart=true;
}
public void paint(Graphics g)
{
g.setColor(0x000000);
g.fillRect(0,0,getWidth(),getHeight());
g.drawImage(Image_bg,0, 0,Graphics.TOP|Graphics.LEFT);
g.setClip(45,70+menuIndex*25,13,13);
g.drawImage(Image_mario,45,70+menuIndex*25,Graphics.TOP|Graphics.LEFT);
}
public void run()
{
while(isstart)
{
repaint();
try{
Thread.sleep(2);
}catch(InterruptedException e){}
}
}
public void commandAction(Command command,Displayable displayable)
{
//if(command==back)
if(command==exit)
{
isstart=false;
theMidlet.close();
}
}
protected void keyPressed(int code)
{
switch(getGameAction(code))
{
case(Canvas.UP):
menuIndex--;
break;
case(Canvas.DOWN):
menuIndex++;
break;
case(Canvas.FIRE):
isstart=false;
switch(menuIndex)
{
case(0)://开始游戏
isstart=false;
theMidlet.activateGameScreen();
break;
case(1)://最高记录
theMidlet.activateScoreScreen();
break;
case(2)://按键说明
theMidlet.activateInfoScreen();
break;
}
break;
}
if(menuIndex==-1)
menuIndex=2;
if(menuIndex==3)
menuIndex=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -