2015-11-18 78 views
1

我試圖讓兩個對象,其能夠在所有4個方向移動(UPDOWNRIGHTLEFT)。而第二個應UP來控制,DOWNRIGHTLEFT箭頭和它的工作原理 - 第一對象應與W¯¯小號d來控制。的keyReleased的Java方法不起作用

但是,我想讓他們停止後,我釋放按鈕(這意味着他們只能移動,如果用戶拿着一些按鈕),但我不能得到我想要的。由於我的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); 
    } 
    } 
    } 
} 
+1

您拼寫錯誤。 – basic

+0

漂亮的眼睛,狗屎發生:( – Seinfeld

+0

哈哈沒有後顧之憂,只是如果你是在一個keylistener和使用該方法,如果它拼寫不正確它不會工作:) – basic

回答

0

正如Jordan Seanor上面所說,將名稱改爲keyReleased,你只是拼錯了它。這應該工作。