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

O CARRO 2 E 3 NÃO VOLTAM A POSIÇÃO INICIAL, O QUE FAZER???

//código do carro

//carro 1
let xCarro1 = 600;
let yCarro1 = 40;
let velocidadeCarro1 = 2;

//carro 2
let xCarro2 = 600;
let yCarro2 = 96;
let velocidadeCarro2 = 2.5;

//carro 3
let xCarro3 = 600;
let yCarro3 = 150;
let velocidadeCarro3 = 3.2;

function mostraCarro(){
 
 image(imagemCarro1, xCarro1, yCarro1, 50, 40)
 
 image(imagemCarro2, xCarro2, yCarro2, 50, 40)

image(imagemCarro3, xCarro3, yCarro3, 50, 40)
}

function movimentaCarro(){

  xCarro1 -= velocidadeCarro1;
  
  xCarro2 -= velocidadeCarro2;
  
  xCarro3 -= velocidadeCarro3;
}

function voltaPosicaoInicialDoCarro(){

if (xCarro1 < -50){
        xCarro1 = 600;
  }
}

if (xCarro2 < -50){
      xCarro2 = 600;
  }

if (xCarro3 < -50){
      xCarro3 = 600;
  }
2 respostas
solução!

Olá, Wilde!

Pelo código que você compartilhou, parece que você está tentando fazer com que os carros voltem à posição inicial quando saírem da tela. No entanto, o trecho de código responsável por isso está fora da função voltaPosicaoInicialDoCarro(), o que pode estar causando o problema.

Para corrigir isso, você precisa mover as condições if para dentro da função voltaPosicaoInicialDoCarro(). Dessa forma, o código ficaria assim:

function voltaPosicaoInicialDoCarro(){
  if (xCarro1 < -50){
    xCarro1 = 600;
  }

  if (xCarro2 < -50){
    xCarro2 = 600;
  }

  if (xCarro3 < -50){
    xCarro3 = 600;
  }
}

Dessa forma, quando a função voltaPosicaoInicialDoCarro() for chamada, ela verificará se as posições dos carros estão fora da tela e, caso estejam, irá retorná-los à posição inicial.

Espero ter ajudado e bons estudos!

muito obrigado deu certo