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

Função voltaPOsicaoInicialDoCarro não funciona

No tópico 3 do curso (Listas e laços de repetição), no vídeo 3, Melhorando o código, o professor nos ensina diversas formas de tornar o código mais enxuto e compreensível, no entanto, ao seguir o passo a passo que ele estava fazendo, os carrinhos começaram a passar a direto e não retornar para a posição inicial. Revi o código, comparando com o do professor e não encontrei erros. Segue código: Em carro.js:

//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){
    xCarros[i] -= velocidadeCarros[i];
  }
}

function voltaPosicaoInicialDoCarro(){
  for (let i = 0; i < imagemCarros.lenght; i = i + 1){
    if (passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}

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

em sketch.js:

function setup() {
  createCanvas(500, 400);
}

function draw() {
  background(imagemDaEstrada);
  mostraAtor();
  mostraCarro();
  movimentaCarro();
  movimentaAtor();
  voltaPosicaoInicialDoCarro();
};

Alguém consegue encontrar o erro, por favor?

1 resposta
solução!

Encontrei o erro, estava na função abaixo, escrevi a palavra length errado =/

function voltaPosicaoInicialDoCarro(){
  for (let i = 0; i < imagemCarros.lenght; i = i + 1){
    if (passouTodaATela(xCarros[i])){
      xCarros[i] = 600;
    }
  }
}