Так что в основном то, что я пытаюсь сделать, это использовать LWJGL, в результате чего мой игрок перемещается в игру. Игрок в настоящее время движется, но он оленья кожа держать mooving в то время как вы держите кнопку ..LWJGL удерживая нажатой клавишу
общественности недействительным обновление() { в то время как (Keyboard.next()) {
if(Keyboard.getEventKey() == Keyboard.KEY_RIGHT) {
if(Keyboard.getEventKeyState()){
System.out.println("KEY DOWN!");
player.playerMovingRight();
}
else{
System.out.println("KEY RELEASED!");
}
}
}
Я попытался с помощью какое-то время (Keyboard.getEventKeyState()), но это просто привело к сбою игры, и он не узнает, выпустят ли я ключ.
Итак, как я могу заставить мой плеер продолжать движение, если вы удерживаете кнопку, вместо того чтобы быстро нажать клавишу для перемещения. И как я могу заставить его работать, если игрок одновременно держит 2 кнопки?
Обновленный код:
public void update(){
while(Keyboard.next()){
//If key escape is down we shut the application down
if(Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)){
System.exit(0);
}
//If key up was pressed move up
else if(Keyboard.getEventKey() == Keyboard.KEY_UP) {
if(Keyboard.getEventKeyState()){
System.out.println("KEY DOWN!");
moveUp = true;
}
else{
System.out.println("KEY RELEASED!");
moveUp = false;
}
}
//If key down was pressed move down
else if(Keyboard.getEventKey() == Keyboard.KEY_DOWN) {
if(Keyboard.getEventKeyState()){
System.out.println("KEY DOWN!");
moveDown = true;
}
else{
System.out.println("KEY RELEASED!");
moveDown = false;
}
}
if(moveUp == true){
player.playerMovingUp();
}
if(moveDown == true){
player.playerMovingDown();
}
}
Im все еще та же проблема с кодом, Im начинают думать, что они его Keyboard.next(), что мешает мне удерживать кнопку, и игрок все еще движется.
Вы попробовали Keyboard.isKeyDown (int key)? – Orion
@Orion Да, я попробовал это. – Rakso