📄 c0843f1d1e9a001b1a15912de8b02075
字号:
import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class GameMenu extends MIDlet {
protected void startApp() throws MIDletStateChangeException {
Display display = Display.getDisplay(this);
display.setCurrent(new GameCanvas(this));
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0)
throws MIDletStateChangeException {
}
public void exit() {
try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
notifyDestroyed();
}
class GameCanvas extends Canvas {
int y = 60;
GameMenu game;
int action = 0;//判断光标的位置
Image menu, back, help;
GameCanvas(GameMenu gameMenu) {
game = gameMenu;
try {
menu = Image.createImage("/res/menu.png");
back = Image.createImage("/res/back.png");
help = Image.createImage("/res/help.png");
} catch (IOException e) {
e.printStackTrace();
}
}
protected void paint(Graphics g){
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
if (action == 0) {//如果action=0,画菜单
paintMenu(g);
} else if (action == 1) {//如果action=1,画游戏
paintGame(g);
} else if (action == 2) {//如果action=2,画高分
paintRecord(g);
} else if (action == 3) {//如果action=3,画帮助
paintHelp(g);
}
}
public void paintMenu(Graphics g) {//画菜单
g.drawImage(menu, 0, 0, Graphics.TOP | Graphics.LEFT);
g.drawRect(60, y, 35, 15);
g.drawString("新游戏", 60, 60, Graphics.TOP | Graphics.LEFT);
g.drawString("高分榜", 60, 80, Graphics.TOP | Graphics.LEFT);
g.drawString("帮助", 60, 100, Graphics.TOP | Graphics.LEFT);
g.drawString("退出", 60, 120, Graphics.TOP | Graphics.LEFT);
}
public void paintHelp(Graphics g) {//画帮助
g.drawImage(help, 0, 0, Graphics.TOP | Graphics.LEFT);
}
public void paintGame(Graphics g) {//画游戏
g.drawImage(back, 0, 0, Graphics.TOP | Graphics.LEFT);
}
public void paintRecord(Graphics g) {//画高分榜
g.drawImage(back, 0, 0, Graphics.TOP | Graphics.LEFT);
g.drawString("第一名:小王", 60, 50, Graphics.TOP | Graphics.LEFT);
g.drawString("第二名:小张", 60, 70, Graphics.TOP | Graphics.LEFT);
g.drawString("第三名:小李", 60, 90, Graphics.TOP | Graphics.LEFT);
}
/*
* (non-Javadoc)
*
* @see javax.microedition.lcdui.Displayable#keyPressed(int)
*/
protected void keyPressed(int arg0) {
if (action == 0) {
if ( arg0 == -2 ||arg0 == 56) {
if (y == 120) {
y = 60;
} else {
y = y + 20;
}
} else if (arg0 == -1 || arg0 == 50) {
if (y == 60) {
y = 120;
} else {
y = y - 20;
}
} else if (arg0 == -5 || arg0 == 53) {
if (y == 120) {//选中退出时,按5键退出
game.exit();
}
else if (y == 100) {//选中帮助时,按5键让action=3,代表玩家选中帮助
action = 3;
}
else if (y == 80) {//选中高分榜时,按5键让action=2,代表玩家选中高分 榜
action = 2;
} else if (y == 60) {//选中新游戏时,按5键让action=1,代表玩家选中新游戏
action = 1;
}
}
}
else {
action = 0;
}
repaint();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -