Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Todos os carros passam uma vez apos isso somente o primeiro carro passa a entrar em loop

O código estava funcionando, só que, após a inclusão da colisão somente o carro 1 ficou entrando em estado de loop enquanto os outros veículos passam somente uma vez

Segue links https://editor.p5js.org/italocajado/sketches/a8yIhPq_e https://editor.p5js.org/italocajado/full/a8yIhPq_e

1 resposta
solução!

Bom dia Italo tudo bem ? O erro está na função passouTodaTela. Perceba que nela você está verificando se apenas o primeiro xCarros está passando a tela, e os demais não. Para resolver, você pode passar para dentro da função o índice que você quer que a função verifique se passou ou não, assim:

function passouTodaTela (indice){
  return xCarros[indice] < -50;
}

Esse indice será substituido pela variável i, que você criou no for, na hora de chamar a função, dessa forma:

function voltaPosicicaoInicialCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    if (passouTodaTela(i)){
      xCarros [i] = 600;
    }
  }
}

Perceba que você esta chamando a função, passando o i para ela, ela pega esse i, e coloca no lugar da variável indice que você passou na função. Ou seja, agora ele está verificando todos os carros se eles estão passando ou não. Espero ter ajudado, valeu.