Я работаю над игрой, похожей на лягушку, и у меня есть следующий код для перемещения моего персонажа вокруг элемента canvas. Код работает, однако персонаж может «выйти / покинуть» холст. Я попытался поместить handleInput()
в update(dt)
(проверки обновлений), вложенном в оператор if (if player.x is > don't do this....
), но я получил синтаксическую ошибку. Тройное утверждение в switch
работает - однако, именно так они и сделали в учебнике, которому я следовал, и я очень стараюсь не просто «скопировать» учебник. Любой совет высоко ценится!
window.allowedKeys = {
37: 'left',
38: 'up',
39: 'right',
40: 'down'
};
const allowedKeys = window.allowedKeys;
update(dt){
}
handleInput(input){
switch(input) {
case 'left':
allowedKeys['left'] = this.x -= 1;
break;
case 'up':
allowedKeys['up'] = this.y -= 1;
break;
case 'right':
allowedKeys['right'] = this.x += 1;
break;
case 'down':
allowedKeys['down'] = this.y += 1;
break;
default:
break;
}
}
document.addEventListener('keyup', function(e) {
player.handleInput(allowedKeys[e.keyCode]);
});