我正在尝试制作两个可以在所有4个方向(上,下,右,左)上移动的对象。第一个对象应使用W,S,D,A进行控制-而第二个对象应通过UP,DOWN,RIGHT,LEFT箭头进行控制,并且可以正常工作。

但是,我希望它们在释放按钮后停止(这意味着它们只能在用户按住其中一些按钮的情况下才能移动),但我无法获得想要的东西。由于我的KeyPressed()方法有效,因此我只放置KeyReleased的代码。

我使用了CTRL + SHIF + F,所以现在不是最佳顺序,但是我希望它可读。正如我在主题中提到的那样,我正在使用Java。

 public void keyRealsed(KeyEvent e)
{
  int key = e.getKeyCode();

  for (int i = 0; i < handler.object.size(); i++)

  {

     GameObject tempObject = handler.object.get(i);

     if (tempObject.getId() == ID.Player)
     {

        if (key == KeyEvent.VK_W)
           tempObject.setVelY(0);
        else if (key == KeyEvent.VK_S)
           tempObject.setVelY(0);
        else if (key == KeyEvent.VK_D)
           tempObject.setVelX(0);
        else if (key == KeyEvent.VK_A)
           tempObject.setVelX(0);
     }

     if (tempObject.getId() == ID.Player2)
     {

        if (key == KeyEvent.VK_UP)
           tempObject.setVelY(0);
        else if (key == KeyEvent.VK_DOWN)
           tempObject.setVelY(0);
        else if (key == KeyEvent.VK_RIGHT)
           tempObject.setVelX(0);
        else if (key == KeyEvent.VK_LEFT)
           tempObject.setVelX(0);
     }
  }
  }
}

最佳答案

正如乔丹·西诺(Jordan Seanor)所说,将名称更改为keyReleased只是您拼写错误。这应该工作。

10-08 15:37