gpt4 book ai didi

java - 我如何检测用户何时真正释放了 Java 中的 key ?

转载 作者:行者123 更新时间:2023-11-30 10:41:55 28 4
gpt4 key购买 nike

如果您按下某个键,玩家会前进,但如果您按住该键的时间稍长,玩家会向同一方向移动太久。我正在使用此代码来检查播放器按下的键:

private void KeyPressed(java.awt.event.KeyEvent evt) {

key = evt.getKeyCode();

if (key == KeyEvent.VK_W) {

direction = 1;

PlayerMovement();
}
if (key == KeyEvent.VK_S) {

direction = 2;

PlayerMovement();
}
if (key == KeyEvent.VK_D) {

direction = 3;

PlayerMovement();
}
if (key == KeyEvent.VK_A) {
direction = 4;
PlayerMovement();

}
}

最佳答案

使用 keyReleased !!!如果您需要在每次按键时将播放器移动一步keyPressed 在用户按下键时保持运行

使用 THREADS 是因为在这里您正在使用该程序,但是如果您启动一个线程,您可以做任何您想做的事情,该程序仍然可以正常工作了解线程,因为游戏都是关于线程的

private class Walk_thread extends java.lang.Thread{

public void run(){
//call the walk methode here
PlayerMovement();
}
}

所以当按键被按下时创建一个调用playermovement的线程

if (key == KeyEvent.VK_W) {

direction = 1;
new Walk_thread().start();//here the method run is called
System.out.println("program will not stop the thread is walking and the program is continued too");
}

关于java - 我如何检测用户何时真正释放了 Java 中的 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38335941/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com