Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Não consigo movimentar o ator - Jogo Freeway

Depois de realizar o exercício da aula, foi trabalhar no mesmo projeto mas com algumas personalizações. A ideia é praticar e "criar" um jogo para minha sobrinha.

Consegui evoluir em todos os códigos, mas não consigo fazer o ator se movimentar de jeito nenhum e não consigo identificar o erro.

Cheguei até a parte da colisão (testei alterando o y do ator para a posição do carro.), mas como não consigo mover o ator usando as setas do teclado, parei por aqui.

Agora fico aguardando uma ajuda para continuar com o projeto...

https://editor.p5js.org/tfurt/sketches/MTZD7vOwo - link para o projeto.

2 respostas

Oi Thiago tudo bom?

Acabei de ver o seu projeto e estou conseguindo mover o ator pela tela sim, mas ele constantemente volta pra a posição inicial, o que sugere que o erro está na função de verificação de colisão.

function verificaColisaoE(){
  for (let i = 0; i < imagemCarrosE.length; i = i + 1){
    colisao = collideRectCircle(xCarrosE[i], yCarrosE[i], lCarrosE, hCarrosE, xChunli, yChunli, 18)
    if (colisao){
      voltaChunliPosicaoInicial();
    }
  }
}

Olhando essa função vc está iterando por todos os carrosE e pegando a posição, altura e largura deles. O Problema é que vc não colocou o index do array que quer acessar nas variáveis de largura e altura

..., lCarrosE[i], hCarrosE[i]

Ricardo, Obrigado pelo retorno, mas não cheguei a realizar o teste completo das colisões, pois não consigo movimentar o ator (coloquei a função da colisão e alterava manualmente o y do ator para ver se ocorria a colisão, mas não consegui testar como um jogo).

Uma dúvida, o fato de usar o teclado do notebook influenciaria nesta movimentação?

Porque continuo sem conseguir mover o ator.