Zetcode.com Java:Spaceinvaders Player在我射击子弹后不再移动了

时间:2015-07-30 08:30:03

标签: java

我尝试使用教程编程spaceinvaders: spaceinvaders

到目前为止一切都还可以,但我无法找到如何重新设定焦点 在我做了一次射门之后在球员身上。因此玩家将不再移动。 我已经尝试了几个小时,所以我知道关键事件正在发挥 - 直到我开枪。 (System.out.println - 用于测试事件是好的)

我可以非常快速地移动玩家,但之后没有机会。 我可以再次拍摄,但VK_LEFT`和VK_RIGHT将再做出反应。

我使用Eclipse Luna和Java build 1.8.0_40,并使用原始代码, 给了我一些小的PNG。 我刚刚指定 Iterator<Alien> it = aliens.iterator();和 已更改:// ImageIcon ii = new ImageIcon(this.getClass().getResource(shot)); 致:

ImageIcon ii = new ImageIcon(shot);

因为否则我得到NullPointer异常。

这是我在board.class中尝试过的:更好地工作,但玩家仍然希望随时移动。 最困扰我的是,它有效地工作了一段时间,没有我能找到理由,玩家停下来 我想再搬家了。

 private class TAdapter extends KeyAdapter {

        @Override
        public void keyReleased(KeyEvent e) {

                 //Original just this code 
               //player.keyReleased(e);

            //works better, but still not as expected
            if(ingame)
            {
                if (e.getKeyCode() == KeyEvent.VK_LEFT || e.getKeyCode() == KeyEvent.VK_RIGHT )
                {
                    player.keyReleased(e);

                }
                 if(e.getKeyCode()== KeyEvent.VK_ALT) 
                 {
                     player.x += player.dx;
                          if (player.x <= 2) 
                            player.x = 2;
                        if (player.x >= BOARD_WIDTH -2*player.width) 
                            player.x= BOARD_WIDTH - 2*player.width;

                 }
            }

        }

我希望你能帮助我。 很好的问候 下进行。

0 个答案:

没有答案