As Colis├Áes agora v├úo muito bem, mas realmente precisamos que o jogador se mova. Voc├¬ provavelmente pensaria em ir para a documenta├º├úo e pesquisar como adicionar um event listener, mas isso n├úo ├® necess├írio aqui. O Phaser tem um gerenciador de inputs do teclado integrado e um dos benef├¡cios isto ├® essa pequena fun├º├úo:

cursors = this.input.keyboard.createCursorKeys();

Isso preenche o objeto de cursores com quatro propriedades: up, down, left, right, que s├úo todas as inst├óncias do objeto Key. Ent├úo tudo o que precisamos fazer ├® chamar eles em 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);
}

Embora tenhamos adicionado muito código, tudo deve ser bem legível.

A primeira coisa que o c├│digo faz ├® verificar se a tecla esquerda est├í sendo pressionada. Se for o caso, aplicamos uma velocidade horizontal negativa e iniciamos a anima├º├úo de execu├º├úo 'left'. Se a tecla da direita da direita esta sendo pressionada, em vez disso, n├│s fazemos o oposto. J├í que estamos resetando a velocidade e ajustando-a desta maneira, em cada quadro, cria-se um estilo de movimento "stop-start".

O sprite do jogador se mover├í apenas quando uma tecla estiver pressionada e parar├í imediatamente quando n├úo estiver. O Phaser tamb├®m permite criar movimentos mais complexos, com impulso e acelera├º├úo, mas j├í temos o efeito que precisamos para este jogo. A parte final da verifica├º├úo da tecla define a anima├º├úo para 'turn' e zera a velocidade horizontal caso nenhuma tecla estiver pressionada.

Pule nisso

A parte final do c├│digo adiciona a capacidade de pular. O cursor para cima ├® a nossa tecla de salto e testamos se est├í pressionada. No entanto, tamb├®m testamos se o jogador est├í tocando o ch├úo, se n├úo fizermos isto, eles poder├í pular no ar.

Se ambas as condi├º├Áes forem atendidas, aplicamos uma velocidade vertical de 330 px/seg. O jogador cair├í no ch├úo automaticamente por causa da gravidade. Com os controles configurados, agora temos um jogo que podemos explorar. Carregue a part7.html e jogue. Tente ajustar valores como o de pulo de 330 para valores mais baixos e mais altos e veja o efeito que ele ter├í.

image