Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre funções!

Bom dia!

Após assistir o curso do jogo freeway com o professor Guilherme, busquei realizar um novo jogo com mais movimentos do ator, além dos se movendo tanto pra esquerda e pra direita.

O ator ainda atravessa as paredes do jogo, desaparecendo da tela, tanto pra cima quanto para os lados, teria como resolver?

Uma ultima dúvida seria no caso do for para os carros da direita, tentei fazer com o i e com outras letras, mas mesmo assim apareciam vários erros, teria uma solução?

Muito obrigado!

https://editor.p5js.org/LeonardoPolido/sketches/XumZWloPv

2 respostas
solução!

Olá Leonardo, tudo bem?! Então, você havia esquecido de colocar a função podeSeMover() dentro da função movimentaAtor(), por isso o ator ia ao infinito e além para baixo. Criei outras duas funções para limitar a movimentação no eixo x tanto para direita quanto para a esquerda. O código destas partes ficou assim. Testei aqui e funcionou, tenta ai e veja o que acontece.

function movimentoAtor(){
  if (keyIsDown (UP_ARROW)){
    yAtor -= 5;
  }
  if (keyIsDown (DOWN_ARROW)){
    if(podeSeMover()) <---  Tem que chamar as funções de limitação aqui.
    yAtor += 5;
  }
  if (keyIsDown (RIGHT_ARROW)){
    if(podeSeMover2()) <--- Aqui.
    xAtor += 5;
  }
  if (keyIsDown (LEFT_ARROW)){
    if(podeSeMover3()) <--- E aqui também.
    xAtor -= 5;
  }
}

function podeSeMover(){
  return yAtor < 415;
}

//Funções para limitar o movimento no eixo X
function podeSeMover2(){
  return xAtor < 570;
}

function podeSeMover3(){
  return xAtor > 0;
}

bom dia, Leandro!

Era isso mesmo que estava acontecendo!

Muito obrigado pela ajuda!