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

📄 netbattlecanvas.java

📁 j2me的坦克大战 元代码 单机版和蓝牙联网版
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                                //(1)对本玩家操作(操作本机,发送对机)                int keyStates = this.getKeyStates();                if(conn != null){conn.sentMessage(String.valueOf(keyStates));input1(keyStates);}                //(2)对方玩家操作(接收对机,操作本机)                int keyStatesNet;                if(conn != null){                    keyStatesNet = conn.getMessage();//接收信息                    if(keyStatesNet!= -1){//收到信息                        input0(keyStatesNet);                        conn.setMessage(-1);//清除按键信息                    }                }            }            render(g);            try {                 Thread.sleep(10);            } catch (InterruptedException ex) {                 ex.printStackTrace();            }        }    }    private void input0(int keyStates){//不断检测按键        //System.out.println("sent:"+keyStates);        if ((keyStates & UP_PRESSED) != 0) {            userSprite[0].setNextDirection(Canvas.UP);            userSprite[0].setIsPressed(true);        }        else if ((keyStates & RIGHT_PRESSED) != 0){            userSprite[0].setNextDirection(Canvas.RIGHT);            userSprite[0].setIsPressed(true);        }        else if ((keyStates & LEFT_PRESSED) != 0) {            userSprite[0].setNextDirection(Canvas.LEFT);            userSprite[0].setIsPressed(true);        }        else if ((keyStates & DOWN_PRESSED) != 0) {            userSprite[0].setNextDirection(Canvas.DOWN);            userSprite[0].setIsPressed(true);        }       if ((keyStates & FIRE_PRESSED) !=0) {           userSprite[0].fire();        }        }    private void input1(int keyStates){//不断检测按键        //接受按键信息       // int keyStates=0;       // if(conn != null)keyStates = conn.getMessage();        //System.out.println("get:"+keyStates);        if ((keyStates & UP_PRESSED) != 0) {            userSprite[1].setNextDirection(Canvas.UP);            userSprite[1].setIsPressed(true);        }        else if ((keyStates & RIGHT_PRESSED) != 0){            userSprite[1].setNextDirection(Canvas.RIGHT);            userSprite[1].setIsPressed(true);        }        else if ((keyStates & LEFT_PRESSED) != 0) {            userSprite[1].setNextDirection(Canvas.LEFT);            userSprite[1].setIsPressed(true);        }        else if ((keyStates & DOWN_PRESSED) != 0) {            userSprite[1].setNextDirection(Canvas.DOWN);            userSprite[1].setIsPressed(true);        }       if ((keyStates & FIRE_PRESSED) !=0) {           userSprite[1].fire();        }        //清除按键信息       //if(conn!=null)conn.setMessage(0);    }        private void render(Graphics g){        layerManager.paint(g, 0, 0);        //layerManager        //this.serviceRepaints();        flushGraphics(0, 0, this.getWidth(), this.getHeight());      }            public NetBulletSprite[] getEnemyBulletSprites() {        return enemyBulletSprite;    }    public NetEnemySprite[] getEnemySprites(){        return this.enemySprite;    }    public NetBulletSprite[] getUserBulletSprites(){        return this.userBulletSprite;    }    public NetUserSprite[] getUserSprites() {        return userSprite;    }    public NetPetSprite[] getPetSprites() {        return petSprite;    }            public void commandAction(Command c, Displayable d) {        if(c == pauseCommand){            this.removeCommand(c);            this.addCommand(resumeCommand);            stop();            pressStop = true;        }else if(c == resumeCommand){            this.removeCommand(c);            this.addCommand(pauseCommand);            resume();            pressStop = false;        }else if(c == exitCommand){            this.gameOver();            //退出到游戏进入界面            this.gameMidlet.gameMenuCanvasBack();             }else if(c == listCommand){            this.stop();            this.gameMidlet.option.gaming = true;             this.gameMidlet.gameOption();        }else if(c == nextCommand){            this.gameMidlet.chooseLevel = 2;            this.gameMidlet.newGame();        }    }    public void gameOver(){            gameover = true;            NetBulletSprite.gameover = true;            NetUserSprite.gameover = true;            NetEnemySprite.gameover = true;            NetKingSprite.gameover = true;            NetTentSprite.gameover = true;            NetTalismanSprite.gameover = true;            NetPetSprite.gameover = true;             Sound.instance.stopBack();    }        public void win(){        if(lose)return;//已经lose        Sound.instance.stopBack();        Sound.instance.winPlayer();        win = true;        NetUserSprite.setInterrupt(true);        Image winImage = null;        try{             winImage = Image.createImage("/tank/win.png");                      }catch(IOException e){            e.printStackTrace();        }        Sprite winSprite = new Sprite(winImage);         winSprite.defineReferencePixel(winImage.getWidth()/2,winImage.getHeight()/2);        winSprite.setRefPixelPosition(this.getWidth()/2, this.getHeight()/2);        winSprite.setVisible(true);        layerManager.insert(winSprite,0);        //处理按键        this.removeCommand(pauseCommand);        this.removeCommand(resumeCommand);        this.removeCommand(listCommand);        if(NetBattleCanvas.level==1)this.addCommand(nextCommand);    }    public void lose(){//kingSprite userSprite调用        if(win)return;//已经win        Sound.instance.stopBack();        Sound.instance.gameoverPlayer();        lose = true;        NetUserSprite.setInterrupt(true);        Image loseImage = null;        try{             loseImage = Image.createImage("/tank/lose.png");                      }catch(IOException e){            e.printStackTrace();        }        Sprite loseSprite = new Sprite(loseImage);         loseSprite.defineReferencePixel(loseImage.getWidth()/2,loseImage.getHeight()/2);        loseSprite.setRefPixelPosition(this.getWidth()/2, this.getHeight()/2);        loseSprite.setVisible(true);        layerManager.insert(loseSprite,0);        //处理按键        this.removeCommand(pauseCommand);        this.removeCommand(resumeCommand);        this.removeCommand(listCommand);       //this.addCommand(exitCommand);    }    public void resume(){        Sound.instance.resumeBack();            NetBattleCanvas.setInterrupt(false);            NetTentSprite.setInterrupt(false);            NetKingSprite.setInterrupt(false);            NetBulletSprite.setInterrupt(false);            NetEnemySprite.setInterrupt(false);            NetUserSprite.setInterrupt(false);            NetTalismanSprite.setInterrupt(false);            NetPetSprite.setInterrupt(false);     }    public void stop(){          Sound.instance.stopBack();           interrupt = true;            NetTentSprite.setInterrupt(true);            NetKingSprite.setInterrupt(true);            NetBulletSprite.setInterrupt(true);            NetEnemySprite.setInterrupt(true);            NetUserSprite.setInterrupt(true);            NetTalismanSprite.setInterrupt(true);            NetPetSprite.setInterrupt(true);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -