Следуя инструкциям по разработке игр с 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 здесь не уместен. –