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

alterando a função para lista

Após acrescentar uma lista para a função "mostraCarro" e "movimentaCarro" os carrinhos somem da pista.

function mostraCarro(){ for(let i = 0; i < imagemCarros.length; i = i + 1){ image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40); } }

function movimentaCarro(){ for(let i = 0; i < imagemCarros.lenght; i = i + 1){ xCarros[i] -= velocidadeCarros[i]; } }

Se deixar como antes, sem o "for" roda normalmente.

https://editor.p5js.org/PaulaNagy/sketches/BWg2asibd

2 respostas
solução!

Oi, Paula

Correções:

  • Inserida uma chave "}"
  • corrigido para length
  • corrigido para xCarro (final)
//código do carro

let xCarros = [600, 600, 600];
let yCarros = [40, 96, 150];
let velocidadeCarros = [2, 2.5, 3.2];

function mostraCarro(){
  for(let i = 0; i < imagemCarros.length; i = i + 1){
    image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40);
     }
}

function movimentaCarro(){
  for(let i = 0; i < imagemCarros.length; i = i + 1){ // corrigido para length
    xCarros[i] -= velocidadeCarros[i];
    
  }
} // inserida chave

function voltaPosiçãoInicialDoCarro(){
  for(let i = 0; i < imagemCarros.length; i = i + 1){ // corrigido para length
    if (passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}

function passouTodaATela(xCarro){
  return xCarro < -50;  //corrigido para xCarro
}

Obrigada