我尝试使用教程编程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;
}
}
}
我希望你能帮助我。 很好的问候 下进行。