我正试图在Java中制作一个2d地下城爬虫风格的游戏。我已经设置好了,当按下x键时,就会有骑士攻击。我的问题是,当我按下x键时,骑士被设置为攻击,但它继续攻击,骑士能够继续杀死骷髅。我想知道是否会有一个简单的方法来超时500毫秒后的按键。
代码
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;
}
}发布于 2014-01-18 23:16:30
您的代码是在键被按下时设置攻击的,而当键被释放时,您将禁用攻击。
与此实现不同,您可以通过调用方法(它将提供攻击功能)来编写攻击启动键,而在函数方法中,可以显式设置所有条件的所有逻辑实现。
您可以确保攻击在密钥释放时停止,就像您已经做的那样。
https://stackoverflow.com/questions/21210962
复制相似问题