📄 mainmenu.java
字号:
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
public class MainMenu extends GameCanvas
{
public static final int MENU = 0, SET = 1, ABOUT = 2, HELP = 3;
private LLKMIDlet midlet;
private int selected = 0;
private Image imgBackground;
private Image imgMenu;
private Image imgAbout;
private Image imgSet;
private Image imgHelp;
private int level = 0;
private int status = 0;
private Graphics g;
public MainMenu(LLKMIDlet midlet)
{
super(false);
this.midlet = midlet;
setFullScreenMode(true);
try
{
imgBackground = Image.createImage("/background.png");
imgMenu = Image.createImage("/menu.png");
imgAbout = Image.createImage("/about.png");
imgSet = Image.createImage("/set.png");
imgHelp = Image.createImage("/help.png");
}
catch (Exception e)
{
e.printStackTrace();
}
g = getGraphics();
g.drawImage(imgBackground, 0, 0, g.TOP | g.LEFT);
drawMenu();
}
private void drawMenu()
{
g = getGraphics();
g.drawImage(imgMenu, 88, 114, g.TOP | g.LEFT);
g.setColor(255, 0, 0);
g.drawRect(98, 114+selected * 37, 125, 39);
g.drawRect(99, 115+selected * 37, 123, 37);
g.drawRect(100, 116+selected * 37, 121, 35);
}
private void drawSet()
{
g.drawImage(imgSet, 88, 114, g.TOP | g.LEFT);
g.setColor(255, 0, 0);
g.drawRect(98, 162+level * 37, 125, 39);
g.drawRect(99, 163+level * 37, 123, 37);
g.drawRect(100, 164+level * 37, 121, 35);
}
private void drawAbout()
{
g.drawImage(imgAbout, 88, 114, g.TOP | g.LEFT);
}
private void drawHelp()
{
g.drawImage(imgHelp, 88, 114, g.TOP | g.LEFT);
}
public void paint(Graphics g)
{
flushGraphics();
}
protected void keyPressed(int keyCode)
{
int g = getGameAction(keyCode);
if (status == MENU)
{
switch (g)
{
case UP:
case LEFT:
selected--;
if (selected == - 1)
{
selected = 4;
}
drawMenu();
break;
case RIGHT:
case DOWN:
selected++;
if (selected == 5)
{
selected = 0;
}
drawMenu();
break;
case FIRE:
switch (selected)
{
case 0:
midlet.startGame(level);
break;
case 1:
status = 1;
drawSet();
break;
case 2:
status = 2;
drawHelp();
break;
case 3:
status = 3;
drawAbout();
break;
case 4:
midlet.exit();
break;
default:
break;
}
}
repaint();
return ;
}
if (status == SET)
{
switch (g)
{
case UP:
case LEFT:
level--;
if (level == - 1)
{
level = 2;
}
drawSet();
break;
case RIGHT:
case DOWN:
level++;
if (level == 3)
{
level = 0;
}
drawSet();
break;
case FIRE:
status = 0;
drawMenu();
default:
break;
}
}
if (status == ABOUT || status == HELP)
{
status = 0;
drawMenu();
}
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -