У меня есть объект на canvas
, что я хотел бы перейти с событиями клавиатуры,KeyDown нажатой левой не обновляется для KeyUp
Моя функция событие следующим образом
function onKeyDown(evt) {
if (evt.keyCode == 40) { downDown = true;}
if (evt.keyCode == 39) { rightDown = true;}
if (evt.keyCode == 38) { upDown = true;}
if (evt.keyCode == 37) { leftDown = true;}
}
и моя onKeyUp
функция то же самое, кроме как с false
в качестве значения
тогда я придаю как
$(document).keydown(onKeyDown);
$(document).keyup(onKeyUp);
У меня есть функция отрисовки, которая вызывается в моей инициализации, как intv = setInterval(draw, 10);
со следующими утверждениями
if (rightDown) { x += dx;}
if (upDown) { y -= dy;}
if (downDown) { y += dy;}
if (leftDown) {x -= dx;}
Все, кроме -x направлении (влево вниз) работает хорошо. Так что я могу перемещать объект вверх, вправо и вниз. Когда левая нажата, объект продолжает движение влево. Устанавливаются ли мои условные утверждения неправильно?
Полный демо на http://jsfiddle.net/avSvu/
Не могли бы вы опубликовать демо? возможно, на http://jsfiddle.net/ – Soumya
@ Soumya92 http://jsfiddle.net/avSvu/ – phwd
Глупое маленькое демо, которое я сделал с использованием двух варов, не знаю, помогает ли это ... (http: // www. jsfiddle.net/bradchristie/jL2u2/1/) –