📄 mainmidp.java
字号:
package LLK;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.lang.Thread;
public class MainMIDP extends MIDlet implements CommandListener,ItemStateListener
{
//显示控制句柄
private Display m_display;
//游戏显示对象
private GameCanvas m_GameCanvas;
//启动log信息画面
private UICanvas m_uiCanvas;
//标志是否已经运行过一次游戏,用于处理在第二次进入游戏的时候,一些资源不需要初始化
private boolean m_isOnece;
//private UICanvas m_uiCanvase;
//private Command cmExit; // Exit midlet
//private Command cmOk;
//private Command cmBack;
// 选项的主窗口,多个选项列表
private List m_MainList;
private Command m_ML_Select;
// 帮助说明框
private Form m_Form_Help;
private Command m_Frm_Help_Back;
private Command m_Frm_About_Back;
//游戏画面一节结束后,后游戏一局结束后,在游戏画面下面的COMMAND显示的的:继续和退出 命令按钮
private Command m_GUIC_Connitnue;
private Command m_GUIC_End;
private String strMsg;
/*
private Form m_frmMain;
//主窗口的选项列表
private ChoiceGroup cgMain;
private Command cmMainMore;
*/
//创建所有的窗口
public void CreateForms()
{
m_MainList = new List("Main", List.IMPLICIT);
//m_ML_Select = new Command("Dodo",Command.ITEM,0);
//m_MainList.addCommand(m_ML_Select);
m_MainList.append("开始游戏",null);
m_MainList.append("选项",null);
m_MainList.append("游戏说明",null);
m_MainList.append("关于",null);
m_MainList.append("退出",null);
m_GameCanvas = new GameCanvas(this);
new Thread(m_GameCanvas).start();
m_GUIC_Connitnue = new Command("继续",Command.SCREEN,1);
m_GUIC_End = new Command("退出",Command.SCREEN,1);
m_MainList.setCommandListener(this);
m_GameCanvas.setCommandListener(this);
/*
m_frmMain = new Form("Main Form");
cmMainMore = new Command("More",Command.ITEM,1);
cgMain = new ChoiceGroup("Preferences", Choice.EXCLUSIVE);//MULTIPLE);
cgMain.append("No1",null);
cgMain.append("No2",null);
cgMain.append("No3",null);
m_frmMain.addCommand(cmMainMore);
m_frmMain.append(cgMain);
*/
}
//启动游戏后释放所有的窗口信息,节约内存
private void FreeForms()
{
}
public MainMIDP()
{
super();
m_isOnece = true;
m_display = Display.getDisplay(this);
// CreateForms();
// m_GUIC_Connitnue = new Command("Continue",Command.ITEM,1);
// m_GUIC_End = new Command("Close",Command.ITEM,1);
}
protected void startApp() throws MIDletStateChangeException
{
//m_MainList.getSelectedIndex()
//m_MainList.setItemStateListener(this);
if (m_isOnece)
{
m_uiCanvas = new UICanvas(this);
new Thread(m_uiCanvas).start();
m_display.setCurrent(m_uiCanvas);
}
else
m_display.setCurrent(m_MainList);
}
protected void pauseApp()
{
}
protected void destroyApp(boolean arg0)
{
}
public void commandAction(Command c, Displayable d)
{
int iSelect;
char chV,chV2;
chV = 0x0d;
chV2 = 0x0a;
// System.out.println("MIDP commandAction ");
if ((c == m_ML_Select) || (c == List.SELECT_COMMAND))
{
iSelect = m_MainList.getSelectedIndex();
switch(iSelect)
{
case 0:
m_isOnece = false;
m_GameCanvas.SetCurrentLevel(1);
m_display.setCurrent(m_GameCanvas);
//m_uiCanvase = null;
//System.gc();
break;
case 1:
break;
case 2://游戏说明
//m_TextBox_Help;m_TB_Help_Back
//m_TextBox_Help = new TextBox("帮助","hehe",100,TextField.ANY);
m_Form_Help = new Form("游戏规则:");
strMsg =
" 需选择一对相同的图形," +// chV + chV2 +
"进行连接但此连接是在避" + //chV + chV2 +
"开其他图形后,呈现的路" + //chV + chV2 +
"径以不超过二转弯为条件." + //chV + chV2 +
"如符合规定则消除此一对牌" + //chV + chV2 +
"而得分.每一局里玩家需要" + //chV + chV2 +
"在规定的时间内消除所有的" + //chV + chV2 +
"牌子,当完成任务后,方能" + //chV + chV2 +
"进行下一关." + //chV + chV2 +
" 游戏结束后,会出现当前" + //chV + chV2 +
"的关数、金币数和所用的时" + //chV + chV2 +
"间.这时,可以选择继续玩" + //chV + chV2 +
"游戏或结束游戏." + chV + chV2 +
" www.mopo.cn";
m_Form_Help.append(strMsg);
m_Frm_Help_Back = new Command("返回",Command.SCREEN,1);
m_Form_Help.addCommand(m_Frm_Help_Back);
m_Form_Help.setCommandListener(this);
m_display.setCurrent(m_Form_Help);
break;
case 3:
m_Form_Help = new Form("关于:");
strMsg =
" 版本:1.0" + chV + chV2 +
" Mopo Soft 2005 " + chV + chV2 +
" 版权所有" + chV + chV2 +
" 程序:林坤 " + chV + chV2 +
" 美工:姚庆华" + chV + chV2 +
" 策划:李辉" + chV + chV2 +
" 冒泡网:" + chV + chV2 +
" www.mopo.cn";
m_Form_Help.append(strMsg);
m_Frm_About_Back = new Command("返回",Command.SCREEN,1);
m_Form_Help.addCommand(m_Frm_About_Back);
m_Form_Help.setCommandListener(this);
m_display.setCurrent(m_Form_Help);
break;
case 4:
exitMIDlet();
break;
default:
break;
}
} else if (c == m_Frm_Help_Back)
{
m_display.setCurrent(m_MainList);
m_Frm_Help_Back = null;
m_Form_Help = null;
} else if (c == m_Frm_About_Back)
{
m_display.setCurrent(m_MainList);
m_Frm_About_Back = null;
m_Form_Help = null;
}
else if (c == m_GUIC_Connitnue)
{
ShowGameUICommand(false);
m_GameCanvas.SetCurrentLevel(1);
} else if (c == m_GUIC_End)
{
ShowGameUICommand(false);
m_display.setCurrent(m_MainList);
}
}
public void ShowMainCommand()
{
//System.out.println("MainMIDP ShowMainCommand : ");
m_display.setCurrent(m_MainList);
m_uiCanvas = null;
//m_GameCanvas = new GameCanvas(this);
//new Thread(m_GameCanvas).start();
//System.out.println("MainMIDP ShowMainCommand : ");
}
public void ShowGameUICommand(boolean isShow)
{
if (isShow)
{
m_GameCanvas.addCommand(m_GUIC_Connitnue);
m_GameCanvas.addCommand(m_GUIC_End);
}else
{
m_GameCanvas.removeCommand(m_GUIC_Connitnue);
m_GameCanvas.removeCommand(m_GUIC_End);
}
}
public void itemStateChanged(Item item)
{
}
public void exitMIDlet()
{
destroyApp(true);
notifyDestroyed();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -