📄 gameinput.java
字号:
package Snowball;
import javax.microedition.lcdui.game.*;
public class GameInput {
private GameStatus gs; //游戏状态
private GameCanvas gc; //游戏屏幕
/** Creates a new instance of GameInput */
public GameInput(GameStatus gs, GameCanvas gc){
this.gs = gs;
this.gc = gc;
}
public void Process(){
int KeyState = gc.getKeyStates();
//走路方向判断
if((KeyState & gc.LEFT_PRESSED) != 0) {
if(gs.gameState == 2)
gs.gp.Walk(1);
}
else if((KeyState & gc.RIGHT_PRESSED) != 0) {
if(gs.gameState == 2)
gs.gp.Walk(2);
}
else {
gs.gp.Walk(0);
if((KeyState & gc.UP_PRESSED) != 0){//UP
if(gs.gameState == 1){//INDEX
gs.idxTmp--;
if (gs.idxTmp < 0) {
gs.idxTmp = gs.menuStr1.length - 1;
}
}
if(gs.gameState == 5){//HELP
if (gs.HelpY <= 208 - 480 ){
return;//直接返回
}
else
gs.HelpY -= 2;
}
}
if((KeyState & gc.DOWN_PRESSED) != 0){//DOWN
if(gs.gameState == 1){//INDEX
gs.idxTmp++;
if (gs.idxTmp >= gs.menuStr1.length){
gs.idxTmp = 0;
}
}
if(gs.gameState == 5){//HELP
if (gs.HelpY >= 0 )
return;//直接返回
else
gs.HelpY += 2;
}
}
}
//跳跃判断
if((KeyState & gc.UP_PRESSED) != 0) {
if(gs.gameState == 2)
gs.gp.Jump();
}
else if((KeyState & gc.FIRE_PRESSED) != 0) {
if(gs.gameState == 2){
gs.gp.Attack();
//子弹参数变化
//发射子弹状态
if(gs.gp.State){
gs.ball.State = true;
gs.ball.DrawState = true;
//坐标
gs.ball.x = gs.gp.x;
gs.ball.y = gs.gp.y - gs.ball.ImageL.getHeight() - 10;
gs.ball.TempX = gs.gp.x;
gs.ball.TempY = gs.gp.y - gs.ball.ImageL.getHeight() - 10;
gs.ball.WalkDir = gs.gp.WalkDir;
}
}
//测试
//gs.gl.levelUpdate();
//gs.logicState = 0;
}
if((KeyState & gc.FIRE_PRESSED) != 0){
switch (gs.idxTmp) {
case 0://开始游戏
gs.gameState = 2;
break;
case 1: //排行榜
gs.gameState = 7;
break;
case 2: //帮助
gs.gameState = 5;
break;
case 3: //关于
gs.gameState = 6;
break;
case 4: //退出
gs.Continue = false;
gs.gMusic.stop();
break;
default:
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -