📄 maincanvas.java
字号:
import javax.microedition.lcdui.*;
class MainCanvas extends Canvas implements Runnable,CommandListener{
private final SuperMate parent; //MIDlet类,用于退出程序
private Thread thread; //主线程
private Image img_Main; //游戏主界面
private Image img_Point;
private Image img_NewGame;
private Image img_Exit;
private Image img_Help;
private Image img_About;
private Image img_Move2008;
private int SelectNum; //选择项
private int X,Y; //绘图顶点坐标
private int WIDTH,HEIGHT; //手机屏幕大小
private boolean isShowLoading;
private boolean isShowAbout;
private boolean isShowHelp;
private Command cmd_EXIT,cmd_OK;
public void gameInit()
{
WIDTH = getWidth();
HEIGHT = getHeight();
X = (WIDTH-parent.gameWidth)/2;
Y = (HEIGHT-parent.gameHeight)/2;
//加载游戏图片
img_Main = parent.getImage("/Main.png");
img_NewGame = parent.getImage("/NewGame.png");
img_Exit = parent.getImage("/Exit.png");
img_Help = parent.getImage("/Help.png");
img_About = parent.getImage("/About.png");
img_Move2008 = parent.getImage("/Move2008.png");
SelectNum = 1;
isShowLoading = false;
isShowAbout = false;
isShowHelp = false;
thread = new Thread(this);
thread.start();
}
//======================================游戏绘制=================================
public void paint(Graphics g)
{
g.setColor(0,0,0);
g.fillRect(0,0,WIDTH,HEIGHT);
g.drawImage(img_Main, X, Y, g.TOP|g.LEFT);
switch(SelectNum)
{
case 1:
parent.drawDialog(g,img_NewGame,X,Y,img_NewGame.getWidth()+6,img_NewGame.getHeight(),-12,1);
break;
case 2:
parent.drawDialog(g,img_Help,X,Y,img_Help.getWidth()+6,img_Help.getHeight(),4,1);
break;
case 3:
parent.drawDialog(g,img_About,X,Y,img_About.getWidth()+6,img_About.getHeight(),20,1);
break;
case 4:
parent.drawDialog(g,img_Exit,X,Y,img_Exit.getWidth()+6,img_Exit.getHeight(),36,1);
break;
}
}
//======================================按键处理==================================
protected void keyReleased(int keyCode)
{
switch(getGameAction(keyCode))
{
case UP:
if (SelectNum>1 && !isShowAbout && !isShowHelp ) SelectNum--;
repaint();
break;
case DOWN: //DOWN
if (SelectNum<4 && !isShowAbout && !isShowHelp) SelectNum++;
repaint();
break;
}
}
//=======================================游戏初使化==================================
public MainCanvas(SuperMate parent){
this.parent = parent;//获取MIDlet
cmd_EXIT = new Command("exit", Command.CANCEL, 1);
cmd_OK = new Command("ok", Command.OK, 1);
addCommand(cmd_OK);
addCommand(cmd_EXIT);
setCommandListener(this);
gameInit();
}
public void run() {
}
public void commandAction(Command c, Displayable d) {
if(cmd_OK == c) {
switch(SelectNum)
{
case 1://新游戏
parent.changeScene(parent.DISPLAY_PLAY);
break;
case 2://帮助
parent.alert("游戏帮助","规定的时间内,在所有图片中找到“成对”的组,每找到一个对相同的,就可成对并消掉,直到全消掉游戏进入下一关。\n\n"+
"按键说明\n"+
"方向键:控制指针移动\n"+
"FIRE键:翻开方块\n"
);
break;
case 3://关于
parent.alert("关于",
"版权所有:\n Move2008\n"+
"版 本 号:\n 1.0.0\n"+
"网站地址:\nwww.Move2008.com\n"+
"技术支持:\nroot@move2008.com\n\n"
);
break;
case 4:
parent.exit();
break;
}
}
else if(cmd_EXIT==c){
parent.exit();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -