📄 gamenavigator.java
字号:
package cn.org.matrix.gmatrix.practice.demo01;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
/**
* 游戏导航类
* @author cleverpig
*
*/
public class GameNavigator {
//保存对MainMIDlet的引用
private MIDlet mainMIDlet=null;
//定义流程控制的标识
//主MIDlet标识
public static final int MAIN_MIDLET=0;
//gameLoaderCanvas标识
public static final int GAMELOADER_CANVAS=1;
//游乐场Canvas标识
public static final int CARNIE_CANVAS=2;
//对话框Canvas标识
public static final int DIALOG_CANVAS=3;
//菜单标识
public static final int MENU_CANVAS=4;
//退出标识
public static final int EXIT=-1;
/**
* 构造方法
* @param mainMIDlet 作为游戏入口的MainMIDlet
*/
public GameNavigator(MIDlet mainMIDlet){
this.mainMIDlet=mainMIDlet;
}
/**
* 导航功能:根据传入的index作为流程控制的标识进行导航
* @param index 流程控制的标识
*/
public void switchSomething(int index){
switch(index){
//切换到gameLoaderCanvas
case GAMELOADER_CANVAS:
if (MainMIDlet.gameLoadProcess!=null){
MainMIDlet.gameLoadProcess.init();
Thread loadProcessTh=new Thread(MainMIDlet.gameLoadProcess);
loadProcessTh.start();
Display.getDisplay(mainMIDlet).setCurrent(MainMIDlet.gameLoadProcess);
}
break;
//切换到游乐场Canvas
case CARNIE_CANVAS:
if (MainMIDlet.carnieCanvas!=null){
MainMIDlet.carnieCanvas.init(MainMIDlet.params);
Thread carnieTh=new Thread(MainMIDlet.carnieCanvas);
carnieTh.start();
Display.getDisplay(mainMIDlet).setCurrent(MainMIDlet.carnieCanvas);
}
break;
//切换到对话框Canvas
case DIALOG_CANVAS:
if (MainMIDlet.dialog!=null){
MainMIDlet.dialog.init();
Thread dialogTh=new Thread(MainMIDlet.dialog);
dialogTh.start();
Display.getDisplay(mainMIDlet).setCurrent(MainMIDlet.dialog);
}
break;
//切换到菜单Canvas
case MENU_CANVAS:
if (MainMIDlet.menu!=null){
MainMIDlet.menu.init();
Thread menuTh=new Thread(MainMIDlet.menu);
menuTh.start();
Display.getDisplay(mainMIDlet).setCurrent(MainMIDlet.menu);
}
break;
//游戏退出
case EXIT:
mainMIDlet.notifyDestroyed();
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -