Как переместить прямоугольник быстрее, нажав на кнопку со стрелкой? - PullRequest
1 голос
/ 06 июня 2019

Как сделать так, чтобы прямоугольник двигался быстрее, чем обычно, нажимая кнопку со стрелкой, а затем, поскольку я убираю палец, он должен снова двигаться с нормальным значением.

вот так выглядит мой код, включая функцию анимации: я попытался увеличить значения x, y, но сразу же перейти на другой квадрат


1 Ответ

2 голосов
/ 06 июня 2019

Вместо того, чтобы игрок двигался с постоянной скоростью 60, попробуйте изменить его с переменной скоростью. И.Е.

var speed = 60;

...


case 'east':
    gameState.playerPosition.x +=speed;
    break;
case'west':
    gameState.playerPosition.x -=speed;
    break;
case'north':
    gameState.playerPosition.y -=speed;
    break;
case'south':
    gameState.playerPosition.y +=speed;

Затем вместо изменения направления на keyup измените его, а скорость на keydown. Затем, когда происходит событие keyup, скорость возвращается к нормальной.

document.addEventListener('keydown', event => {
    speed = 120;
    if(event.key==='ArrowRight'){
        gameState.direction = "east";
    }else if(event.key==='ArrowLeft'){
       gameState.direction = "west"
    }else if(event.key === 'ArrowUp'){
       gameState.direction = "north"
    }else if(event.key === 'ArrowDown'){
       gameState.direction = "south"
    }
    console.log('Key ' + event.key + ' was pressed.'); 
});   

document.addEventListener('keyup', event => {
    speed = 60;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...