Моя клавиатура работает просто:
rightPressed = false;
onKeyDown = function(pressEvent) {
if (pressEvent.keyCode == 39) rightPressed = true;
}
onKeyUp = function(pressEvent) {
if (pressEvent.keyCode == 39) rightPressed = false;
}
$(document).keydown(onKeyDown);
$(document).keyup(onKeyUp);
И это сработало. Тогда я попытался поместить все это в класс:
function Tkeyboard(){
this.rightPressed = false;
this.onKeyDown = function(pressEvent) {
if (pressEvent.keyCode == 39) { this.rightPressed = true; alert("boom!"); }
}
this.onKeyUp = function(pressEvent) {
if (pressEvent.keyCode == 39) { this.rightPressed = false; }
}
$(document).keydown(this.onKeyDown);
$(document).keyup(this.onKeyUp);
}
При инициализации я создал объект:
keys = new Tkeyboard;
В основной цикл я положил действие:
if ( keys.rightPressed ) { rx+=1;}
И теперь это не удается. Интересная часть проблемы заключается в том, что вызывается alert ("boom!"), Поэтому переменная тоже должна изменяться ...
Буду признателен за любые идеи.