2
respostas

[Dúvida] Minha colisão só acontece no primeiro carro, nos outros não acontece.

Fiz o código seguindo a expressão for, mas a colisao só acontece com o primeiro carro, de baixo para cima, os outros dois não está havendo colisão, o que esqueci?

https://editor.p5js.org/edevaldo/sketches/9QbOVWo4s

2 respostas

Descobri,

Antes estava escrito assim:

function verificaColisao(){
  for(let i = 0; i < imagemCarros.length; i = i + 1)
  colisao = collideRectRect(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xAtor, yAtor, comprimentoAtor, alturaAtor)
  if (colisao){
    colidiu()
  }
}

a solução foi:

function verificaColisao(){
  for(let i = 0; i < imagemCarros.length; i = i + 1)*{*
  colisao = collideRectRect(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xAtor, yAtor, comprimentoAtor, alturaAtor)
  if (colisao){
    colidiu()
  }
*}*
}

acrescentar umas {} depois da expressão for()

Oi, Edevaldo! Tudo bem?

Fico feliz que você conseguiu arrumar o bug do jogo, e obrigada por compartilhar a solução com a comunidade. Outras pessoas podem ter o mesmo erro que o seu, e sua solução pode ser o guia para alguém! :)

Caso você ainda não conheça o Discord da Alura, vou deixar o convite abaixo. Lá você poderá fazer networking com mais pessoas envolvidas no mundo da programação, compartilhar seu progresso e ajudar demais estudantes. Aqui está o link:

Se alguma dúvida surgir, estou à disposição.

Abraços e bons estudos!