2014-01-18 46 views
1

我想在Java中製作一個2D地牢爬蟲風格的遊戲。我已經設置了它,所以當按下x鍵時,騎士會發起攻擊。我遇到的問題是,當我按下x鍵時,騎士被設置爲攻擊,但它繼續攻擊,騎士可以繼續殺死骷髏。我想知道是否有一個簡單的方法來超過500毫秒後按鍵。Java 2d遊戲關鍵監聽器時間限制

代碼

public Knight k = new Knight(); 

private class TAdapter extends KeyAdapter { 
    public void keyReleased(KeyEvent e) { 
     k.keyReleased(e); 
    } 
    public void keyPressed(KeyEvent e) { 
     k.keyPressed(e); 
    } 
} 

//Code in Knight 

public void keyPressed(KeyEvent e) { 
     int key = e.getKeyCode(); 
     if ((key == KeyEvent.VK_X)) { 
       Attacking = true; 
     } 
} 

public void keyReleased(KeyEvent e) { 
     int key = e.getKeyCode(); 
     if ((key == KeyEvent.VK_X)) { 
       Attacking = false; 
     } 

} 

回答

0

你的代碼編寫,而按鍵設定攻擊,鬆開按鍵時禁用攻擊。

而不是這個實現,你可以寫出攻擊將通過調用方法開始按鍵,這將提供攻擊功能和功能方法實現所有的邏輯,你可以明確地設置所有條件。

您可以確保攻擊在密鑰釋放時會停止,就像您已經做的那樣。