1
resposta

não consigo fazer meu carro se mover

no jogo freeway da parte 2 dos jogos classicos eu não consigo movimentar o carro alguem pode me dizer o porque? esse é o meu comando:

let imagemdaestrada
let imagemator
let imagemcarro1
let imagemcarro2
let imagemcarro3
let xcarro1 = 420
let ycarro1 = 40
function setup() {
  createCanvas(500, 400);
}
function preload(){
  imagemdaestrada = loadImage("imagens/estrada.png")
  imagemator= loadImage("imagens/ator-1.png")
  imagemcarro1= loadImage("imagens/carro-1.png")
}



function draw() {
  background(imagemdaestrada);
  image(imagemator, 100, 366, 30, 30)
  image(imagemcarro1, xcarro1, ycarro1, 50, 40)
}
xcarro1 = xcarro1 -2
1 resposta

Oi, Allan! Tudo bem? Desculpa a demora por um retorno

Para que você execute qualquer coisa para ser exibida na tela, como a movimentação do carrinho, é necessário que ele seja chamado ou esteja dentro da função draw .

Para resolver o seu problema basta, por exemplo colocar o comando xcarro1 = xcarro1 -2 dentro da função draw, da seguinte forma:

function draw() {
  background(imagemdaestrada);
  image(imagemator, 100, 366, 30, 30);
  image(imagemcarro1, xcarro1, ycarro1, 50, 40);
  xcarro1 = xcarro1 - 2;
}

Entretanto, indico que você crie uma função chamada movimentaCarro, declare o seu comando dentro dela e depois a chame dentro da função draw, como foi realizado no curso, com o intuito de deixar o seu código mais legível e organizado.

Segue abaixo, como exemplo, uma sugestão para o seu código:

let imagemDaEstrada;
let imagemAtor;
let imagemCarro1;
let imagemCarro2;
let imagemCarro3;
//carro
let xCarro1 = 420;
let yCarro1 = 40;

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

function preload(){
  imagemDaEstrada = loadImage("imagens/estrada.png");
  imagemAtor= loadImage("imagens/ator-1.png");
  imagemCarro1= loadImage("imagens/carro-1.png");
}

function draw() {
  background(imagemDaEstrada);
  image(imagemAtor, 100, 366, 30, 30);
  image(imagemCarro1, xCarro1, yCarro1, 50, 40);
  movimentaCarro();
}

function movimentaCarro(){
  xCarro1 -= 2;
}

Espero ter ajudado, qualquer dúvida é só comunicar!

Um forte abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.