Ok, já criamos a nossa colisão com os objetos, mas agora precisamos mover o player. Você pode utilizar um gerenciador de teclado embutido do Phaser:
cursors = this.input.keyboard.createCursorKeys();
Esse comando preenche o objeto cursors com as quatro propriedades: cima, baixo, esquerda e direita, que são todas as instâncias dos objetos-chave. Então, tudo que precisamos fazer é pesquisar isso dentro do nosso loop update:
if (cursors.left.isDown) { player.setVelocityX(-160); player.anims.play('left', true); } else if (cursors.right.isDown) { player.setVelocityX(160); player.anims.play('right', true); } else { player.setVelocityX(0); player.anims.play('turn'); } if (cursors.up.isDown && player.body.touching.down) { player.setVelocityY(-330); }
A primeira coisa a fazer, é verificar se a tecla esquerda está sendo pressionada. Se ela estiver, aplicaremos uma velocidade horizontal negativa e iniciaremos a animação “left”. Se a tecla pressionada for a direita, faremos o oposto e utilizaremos a animação “right”. Em cada frame, criaremos um estilo de movimento “stop-start”.
Agora, precisamos adicionar um pulo, para podermos ir para as plataformas suspensas, correto? Clicaremos na tecla com a seta para cima para pular, testando se ela está pressionada e se o player está no chão. Se ambas as condições forem atendidas, aplicaremos uma velocidade vertical de 330 px/s sq. O player voltará para o chão, devido à gravidade.
Esse é o resultado esperado para esta situação. Verifique isso em part7.html.
Você pode verificar o artigo original em inglês em: https://phaser.io/tutorials/making-your-first-phaser-3-game/part8
Está gostando desta sequência de artigos? Comente abaixo!