📄 engine.java
字号:
case 35://# pause
gameState = Engine.STATE_PLAY;
break;
}
this.stageCanvas.isRepaint = true;
break;
//*****************************************************
case STATE_PLAYMENU: //游戏中途副菜单
this.lastLoadGameState = STATE_PLAYMENU; //playMenuIndex
int playMenuSelected = stageCanvas.getPlayMenuIndex();
switch (key_code) {
case -7:
gameState=Engine.STATE_PLAY;//.STATE_PLAYING;//.STATE_NEW;
break;
case -1:
if (playMenuSelected == 0)
stageCanvas.setPlayMenuIndex(6);
else {
playMenuSelected--;
stageCanvas.setPlayMenuIndex(playMenuSelected);
}
break;
case -2:
if (playMenuSelected == 6)
stageCanvas.setPlayMenuIndex(0);
else {
playMenuSelected++;
stageCanvas.setPlayMenuIndex(playMenuSelected);
}
break;
// case 53: //5号键
case -6://左软键
switch (playMenuSelected) {
case 0: //继续游戏
gameState=Engine.STATE_PLAY;//.STATE_PLAYING;//.STATE_NEW;
break;
case 1: //开始新游戏
gameState = Engine.STATE_GRADE;
break;
case 2: //
gameState = Engine.STATE_INTRO; //介绍说明
break;
case 3: //
gameState = Engine.STATE_SCORE; //得分记录
break;
case 4: //
gameState = Engine.STATE_VOLUME; //声音开关
break;
case 5:
gameState = Engine.STATE_COPYRIGHT; //厂商咨询
break;
case 6: //退出游戏
CanoeingMIDlet.quitApp();
break;
}
break;
// case -7:
// gameState = Engine.STATE_PLAYMENU;
// this.stageCanvas.isRepaint = true;
// break;
}
this.stageCanvas.isRepaint = true;
break;
case STATE_GRADE: //难度选择index
int gradeIndex = this.stageCanvas.getGradeSelectIndex();
switch (key_code) {
case -1:
if (gradeIndex == 0) {
this.stageCanvas.setGradeSelectIndex(2);
}
else {
gradeIndex--;
this.stageCanvas.setGradeSelectIndex(gradeIndex);
}
break;
case -2:
if (gradeIndex == 2) {
this.stageCanvas.setGradeSelectIndex(0);
}
else {
gradeIndex++;
this.stageCanvas.setGradeSelectIndex(gradeIndex);
}
break;
case -7://返回
gameState=Engine.STATE_MENU;
break;
case -6://左软键
switch (gradeIndex) {
case 0:
gameState = Engine.STATE_NEW;
runSleep=70;
break;
case 1:
gameState = Engine.STATE_NEW;
runSleep=40;
break;
case 2:
gameState = Engine.STATE_NEW;
runSleep=10;
break;
}
break;
}
this.stageCanvas.isRepaint = true;
break;
case STATE_VOLUME: //声音的开关
// this.lastLoadGameState = Engine.STATE_MENU;
int openmusicIndex = stageCanvas.getMusicSelectIndex();
switch (key_code) {
case -1:
if (openmusicIndex == 0)
stageCanvas.setMusicSelectIndex(1);
else {
openmusicIndex = openmusicIndex - 1;
stageCanvas.setMusicSelectIndex(openmusicIndex);
}
break;
case -2:
if (openmusicIndex == 1)
stageCanvas.setMusicSelectIndex(0);
else {
openmusicIndex = openmusicIndex + 1;
stageCanvas.setMusicSelectIndex(openmusicIndex);
}
break;
// case 53: //5号键
case -6://左软键
switch (openmusicIndex) {
case 0:
stageCanvas.isSound = false;
if (lastLoadGameState == Engine.STATE_PLAYMENU) {
gameState = Engine.STATE_PLAYMENU;
}
else {
gameState = Engine.STATE_MENU;
}
///gameState = Engine.STATE_PLAY;
break;
case 1:
stageCanvas.isSound = true;
if (lastLoadGameState == Engine.STATE_PLAYMENU) {
gameState = Engine.STATE_PLAYMENU;
}
else {
gameState = Engine.STATE_MENU;
}
// gameState = Engine.STATE_PLAY;
break;
}
break;
}
this.stageCanvas.isRepaint = true;
break;
case STATE_LOSE: //游戏失败
int loseIndex = stageCanvas.getLoseSelectIndex();
switch (key_code) {
case -1:
if (loseIndex == 0)
stageCanvas.setLoseSelectIndex(1);
else {
loseIndex--;
stageCanvas.setLoseSelectIndex(loseIndex);
}
break;
case -2:
if (loseIndex == 1)
stageCanvas.setLoseSelectIndex(0);
else {
loseIndex ++;
stageCanvas.setLoseSelectIndex(loseIndex);
}
break;
// case 53: //5号键
case -6://左软键
switch (loseIndex) {
case 0:
//此处要判断选择的是哪个难度的游戏开始
gameState = Engine.STATE_NEW;
break;
case 1:
stageCanvas.isSound = true;
/* gameState = Engine.STATE_MENU;//会主菜单
if (lastLoadGameState == Engine.STATE_PLAYMENU) {
// if (lastLoadGameState == Engine.STATE_LOSE) {
gameState = Engine.STATE_PLAYMENU;
// gameState = Engine.STATE_NEW;
}
else {
}*/
CanoeingMIDlet.quitApp();
break;
}
break;
}
this.stageCanvas.isRepaint = true;
break;
/* case STATE_GAMEOVER:
// gameState = Engine.STATE_LOSE;
switch(key_code){
case 53:
System.out.println("*******************************************^&^^^^^^^^^^^^^");
break;
}
this.stageCanvas.isRepaint = true;
break;*/
}
}
// 线程的入口
public void run() {
//System.out.println("repaint");
try {
while (true) {
if (stageCanvas.isRepaint) {
// stageCanvas.repaint();
Thread.sleep(runSleep);
stageCanvas.isRepaint = false;
stageCanvas.repaint();
System.gc();
// System.out.println("repaint");
}
// System.gc();
}
}
catch (Exception e) {
System.out.println("run exception" + e);
}
}
// 退出游戏
private void quitGame() {
canoeingMIDlet.quitApp();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -