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

📄 maincanvas.java

📁 J2ME手机版游戏——配对赛源代码
💻 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 + -