1
resposta

[Dúvida] Carro nos dois lados da rua

Bom dia, pessoal!

Estou tentando adicionar mais carros no jogo, até consegui adicionar um carro e fazer ele se movimentar, mas não consigo fazer ele voltar para a parte inicial.

Ele esta se movimentando no sentido contrario dos outros carros, para dificultar o jogo.

Alguem sabe como posso é o codigo para fazer ele voltar?


//codigos dos carros
//variaveis do carro1
let xCarro = 600
let yCarro = 41
let velocidadeCarro = 2

// variaveis do carro2
let xCarro2 = 600
let yCarro2 = 96 
let velocidadeCarroo2 = 3

// variaveis do carro3
let xCarro3 = 600
let yCarro3 = 150
let velocidadeCarro3 = 2.32

// variaveis do carro4
let xCarro4 = -50
let yCarro4 = 210
let velocidadeCarro4 = 3

function mostraCarro(){
    image(imagemCarro, xCarro, yCarro, 50, 40);
    image(imagemCarro2, xCarro2, yCarro2, 50, 40);
    image(imagemCarro3, xCarro3, yCarro3, 50, 40);
    image(imagemCarro4, xCarro4, yCarro4, 50, 40);
   //   image(imagemCarro5, xCarro, yCarro, 50, 40);
  //  image(imagemCarro6, xCarro, yCarro, 50, 40);
}

function movimentaCarro(){
  xCarro -= velocidadeCarro;
  xCarro2 -= velocidadeCarroo2;
  xCarro3 -= velocidadeCarro3;
  xCarro4 += velocidadeCarro4;
  print(xCarro4)

}

function voltaPosicaoInicialDoCarro(){
  if (xCarro < - 50){
    xCarro = 600
  }
    if (xCarro2 < - 50){
    xCarro2 = 600
  }
    if (xCarro3 < - 50){
    xCarro3 = 600
  }
}
1 resposta

Como a posição x vai aumentando, uma sugestao seria colocar outra verificação "if",

if (xCarro > 601) { xCarro = -49 }

Testa aí depois me diz se funcionou :D

No meu caso, já estou usando listas, e faço ele voltar pra posição na msma função que movimenta os carros. Ficou assim:

function movimentaCarros (){
  for (let i=0; i < imagemCarros.length; i+=1) {
    xCarros[i] -= velocidadeCarros[i];
    if (xCarros[i] < -60) {
      xCarros[i] = 600;
    }  
    if (xCarros[i] > 601) {
      xCarros[i] = -59;
    }
  }
}

A única coisa que teria que ajustar é a fgura dos carros.. eles estão andando de ré :D