3

我正在尝试用 javascript 创建一个简单的游戏,但我被困在如何处理密钥上。

小例子:

function keyUpEvent(event) {
    alert(event.keyCode);
}
window.addEventListener("keyup", keyUpEvent, false);

我正在运行 Ubuntu 9.10 并在 Firefox 3.5 和 Chromium 中对其进行测试。

如果我立即按下并释放一个按钮,我会收到一个警报,这是意料之中的,但是当我按住一个按钮时,我会稍作停顿,然后出现一系列警报窗口,预期的结果是我只会收到一个警报当我将手指从按钮上移开时的窗口。

我认为这与以下事实有关,例如,当我在文本区域中按住一个按钮时,我会得到一个字符,短暂的停顿,然后是一系列字符:dddddddddddddddd。

我相信有可能解决这个问题,或者做得更正确,或者因为这个游戏,例如:http ://bohuco.net/testing/gamequery/pong.html接缝不受此影响。但我注意到,如果我尝试 jquery keyup 演示( api.jquery.com/keyup/ ),我会遇到同样的问题。

如何实现基本的游戏按键事件处理?

4

1 回答 1

0

你举的例子,有解决办法——为什么不照着做呢?

它在 keyDown 之后使用计时器,而不是直接调用完成这项工作的函数。这就是诀窍,您必须使用计时器。

这是一个类似的问题,可以为您提供更多想法。

于 2010-05-02T06:26:01.517 回答