Atividade 3 - Adicionando Controle de Teclado para Mover o Jogador

Agora, vamos permitir que nossa nave se mova quando o jogador usar o teclado.
O primeiro passo é criar um atributo cursor no método create() dentro de Scene2.js:

create_cursor_key

A forma mais eficiente de criar o movimento é ter uma função auxiliar que use o atributo cursor para verificar se alguma tecla foi pressionada.
Essa função já está criada para você e se chama movePlayer():

move_player_function

Usamos essa função para mover o jogador, e a chamamos dentro do método update() para verificar o movimento a cada ciclo de atualização (isso também já foi feito para você).

Agora, vá até o método movePlayer() e escreva o código que verifica as teclas pressionadas e move o jogador de acordo.


  • Recomendamos uma velocidade de movimento de 200
  • Use instruções if
  • Depois de criar os if, você pode perceber que o jogador continua se movendo mesmo após soltar a tecla.
    Para corrigir isso, pense: quando nenhuma tecla está sendo pressionada, o que a nave deve fazer?


Agora teste! Você pode notar algo: o jogador consegue sair da tela, assim:

bounds

Isso acontece porque o Phaser usa um canvas infinito, que existe além da área visível da tela.
Podemos corrigir isso restringindo o jogador à tela com uma única linha de código:

this.player.body.setCollideWorldBounds(true); // impede o jogador de sair da tela

Encontre o método create() da Scene 2:

set_bound

Agora que o jogador está limitado à tela, você poderá mover a nave assim:

animation spaceship and background