【发布时间】:2015-06-20 06:42:07
【问题描述】:
我有一个 Javascript 密钥处理函数,我正在尝试在我正在开发的游戏中使用它,但它似乎不太有效,我不确定它是编辑器还是代码有错误。我的代码如图:
var myKey = {
pressedKeys: [],
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
isPressed: function(zKey){
return this.pressedKeys[zKey];
},
onkeyDown: function(event){
this.pressedKeys[event.keyCode] = true;
},
onkeyUp: function(event){
this.pressedKeys[event.keyCode] = false;
},
};
window.addEventListener("keydown", myKey.onkeyDown);
window.addEventListener("keyup", myKey.onkeyUp);
var checkInput = function(){
if(myKey.pressedKeys[myKey.LEFT]){
confirm("Pressed Left");
}
}
var gameLoop = function(){
checkInput();
window.requestAnimationFrame(gameLoop);
}
游戏循环动画帧在此处未显示的主函数中首次调用。我不明白可能出了什么问题。我尝试了对数字进行硬编码,但仍然一无所获,但它很可能是我的编辑器。
【问题讨论】:
-
可能应该将
confirm改为console.log以防止干扰onkeyUp
标签: javascript events dom-events keyevent