我用html canvas元标记中的javascript编码经典蛇游戏。 我在eventListener中将keyPress事件添加到文档中。但我很难按快速按钮,游戏重置如何解决这个错误
document.addEventListener('keydown', this.onKeyPress.bind(this));
onKeyPress(e) {
//turn left
if (e.keyCode === 37 && this.velocityX !== 1) {
this.velocityX = -1;
this.velocityY = 0;
}
// turn up
else if (e.keyCode === 38 && this.velocityY !== 1) {
this.velocityX = 0;
this.velocityY = -1;
}
//turn right
else if (e.keyCode === 39 && this.velocityX !== -1) {
this.velocityX = 1;
this.velocityY = 0;
}
// turn down
if (e.keyCode === 40 && this.velocityY !== -1) {
this.velocityX = 0
this.velocityY = 1;
}
}
答案 0 :(得分:0)
您的onKeyPress功能是否写得不正确?尝试将其写为:
function onKeyPress(e) {...}
而不是
onKeyPress(e) {...}
它没有解释重置,但至少应该让你更接近一个有效的解决方案。