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

[Dúvida] Dúvida sobre a movimentação do carro

Entendi que o valor -2 atribuído em

function movimentaCarro (){
  xCarro -= 2;
}

corresponde a velocidade do carro, mas porque esse valor não é executado apenas uma vez? Eu não deveria criar alguma linha de código para que esse valor fosse atualizado, como um loop ou algo do tipo? testei a linha de código baixo e meu carro ficou parado do lado esquerdo da tela.

function movimentaCarro (){
  xCarro =- 2;
}

fiquei confuso quanto a quando saber quando a linha de código é lida várias vezes e quando uma linha de código é lida apenas uma vez ao rodar o programa.

2 respostas
solução!

Oi, Tiago

A função "movimentaCarro" é chamada pela função "draw" que está em loop

Referência: https://p5js.org/reference/#/p5/draw

// Variavel para Imgens.

let imagemEstrada; let ator; let carro1; let carro2; let carro3;

// Variavel para movimentar os carros.

let xCarro = 550; let xCarro2 = 450; let xCarro3 = 350;

//variavel para movimentar o ator.

let yAtor = 370; let xAtor = 10;

// Função preload para Colocar imagens.

function preload(){ imagemEstrada = loadImage("Imagens/estrada.png"); ator = loadImage ("Imagens/ator-1.png"); carro1 = loadImage ("Imagens/carro-1.png"); carro2 = loadImage ("Imagens/carro-2.png"); carro3 = loadImage("Imagens/carro-3.png");

}

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

function draw() { background(imagemEstrada); mostrarator(); mostrarcarro1(); mostrarcarro2(); mostrarcarro3(); movicarro1(); movicarro2(); movicarro3() moviator();} // Funçãop criada para mostrar estrada.

function mostrarator(){ image(ator,xAtor,yAtor,30,30); }

// Função criada para mostrar os carros.

function mostrarcarro1(){ image(carro1,xCarro,40, 40,40); }

function mostrarcarro2(){ image(carro2,xCarro2,95,40,40 ); }

function mostrarcarro3(){ image(carro3,xCarro3,150,40,40 ); }

// Função criada para mover os carros.

function movicarro1(){ xCarro -= 7; //Velocidade carro1.

} function movicarro2(){ xCarro2 -= 5; // Velocidade carro2. }

function movicarro3(){ xCarro3 -= 5; // Velocidade carro3. }

// Função criada para movimentar o ator.

function moviator(){ if (keyIsDown(UP_ARROW)){ yAtor -=3; } if (keyIsDown(DOWN_ARROW)){ yAtor +=3; } if (keyIsDown(LEFT_ARROW)){ xAtor -=3; } if (keyIsDown(RIGHT_ARROW)){ xAtor +=5; } }