如何在JavaScript游戏中流畅地实现方向键移动?

问题描述 投票:0回答:1

我看过很多帖子试图修复类似的问题,但到目前为止没有任何效果。我需要找到一种方法来检测箭头键,但当按下另一个键时它会立即转动,而且我也在尝试找出如何制作对角键。我正在使用类似这样的代码...

var key;
onkeydown = e => {
    if(e.keyCode == 37) {
        // left key
    };
    if(e.keyCode == 38) {
        // up key
    };
    if(e.keyCode == 39) {
        // right key
    };
    if(e.keyCode == 40) {
        // down key
    };
};
javascript variables
1个回答
0
投票

您需要一个变量来存储当前按下的按键并跟踪

onkeydown/up
来更新它。

let pressedKeys = new Set()

window.onkeydown = e => {
  pressedKeys.add(e.code)
  update()
}

window.onkeyup = e => {
  pressedKeys.delete(e.code)
  update()
}

function update() {
  console.log(String([...pressedKeys]))
}

另外,不要使用

keyCode
,它已被弃用。

© www.soinside.com 2019 - 2024. All rights reserved.