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

📄 gameinput.java

📁 学习j2me写的,虽然在碰撞上处理的不好!但其中的技巧还是可以学习的1
💻 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 + -