gpt4 book ai didi

javascript - 向左按下的 Keydown 不会为 Keyup 更新

转载 作者:行者123 更新时间:2023-11-29 17:30:15 25 4
gpt4 key购买 nike

我在 canvas 上有一个对象,我想用键盘事件移动它,

我的事件函数如下

function onKeyDown(evt) {
if (evt.keyCode == 40) { downDown = true;}
if (evt.keyCode == 39) { rightDown = true;}
if (evt.keyCode == 38) { upDown = true;}
if (evt.keyCode == 37) { leftDown = true;}
}

和我的 onKeyUp 函数是一样的,除了 false 作为值

然后我附上它作为

$(document).keydown(onKeyDown);
$(document).keyup(onKeyUp);

我有一个绘图函数,它在我的 init 中被调用为 intv = setInterval(draw, 10); 使用以下语句

                            if (rightDown) { x += dx;}
if (upDown) { y -= dy;}
if (downDown) { y += dy;}
if (leftDown) {x -= dx;}

除了 -x 方向(左下)以外的所有方向都运行良好。这样我就可以上下移动物体。当向左按下时,对象继续向左移动。我的条件语句设置不正确吗?

完整的演示在 http://jsfiddle.net/avSvu/

最佳答案

function onKeyUp(evt) {
if (evt.keyCode == 40) { downDown = false;}
...

// v----- capital K ?
if (evt.KeyCode == 37) { leftDown = false;}
}

现场演示: http://jsfiddle.net/avSvu/5/

关于javascript - 向左按下的 Keydown 不会为 Keyup 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4961543/

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