遵循关于使用HTML5进行游戏开发的教程。当我按下键盘上的up
键时,我无法弄清楚为什么这段代码不会显示警报。为什么警告不显示?
var canvas = document.getElementById("mainCanvas");
var context = canvas.getContext("2d");
var keys = [];
window.addEventListener("keydown", function(e) {
keys[e.keyCode] = true;
}, false);
window.addEventListener("keyup", function(e) {
delete keys[e.keyCode]
}, false);
if (keys[38]) alert("yep");
中的Chrome控制台清楚地表明,keys[38]
是true
并在控制台输入if (keys[38]) alert("yep");
显示警报。我认为我错过了一个基本的东西(或从根本上来说是愚蠢的)。如果JS代码中没有明显的错误,我会很乐意提供更多信息。
谢谢!
当你觉得'什么/如果(键[38])警报(“yep”);'在做什么?如果在键入任何键之前运行。 – epascarello
更重要的是,**当你认为它正在做它。 – Quentin
当JavaScript引擎解析该行时,“keys [38]”仍未定义。和2011年的MacBook Pro在这里没有关系。 –