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

A vaquinha não se movimenta

let imagemCarro;
let imagemAtor;
let imagemEstrada;

// posição do carro
let xCarro = 490;

// posição do animal
let yAtor = 366;

function preload(){
  imagemEstrada = loadImage("imagens/estrada.png");
  imagemAtor = loadImage("imagens/ator-1.png");
  imagemCarro1 = loadImage("imagens/carro-1.png");
  imagemCarro2 = loadImage("imagens/carro-2.png");
  imagemCarro3 = loadImage("imagens/carro-3.png")
}

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

function draw() {
  background(imagemEstrada);
  mostraAtor();
  mostraCarro();
  movimentarCarro();
  movimentarAtor()
}

function mostraAtor(){
  image(imagemAtor, 100, yAtor, 30, 30)
}

function mostraCarro(){
  image(imagemCarro1, xCarro, 40, 50, 40);
  image(imagemCarro2, xCarro, 100, 50, 40);
  image(imagemCarro3, xCarro, 260, 50, 40)
}

function movimentarCarro(){
   xCarro -= 2
}

function movimentarAtor(){
  if (keyIsDown(UP_ARROW)){
      yAtor -= 3;
  }
  if (keyIsDown(DOWN_ARROW)){
      yAtor += 3
  }
}

a vaquinha não está se movimentando, ja revisei o código nãp consigo encontrar erros

7 respostas
//código do carro

let xCarros = [600, 600, 600, 600, 600, 600];
let yCarros = [40, 96, 150, 210, 270, 318];
let velocidadeCarros = [2, 2.5, 3.2, 5, 3.3, 2.3];
let comprimentoCarro = 50;
let alturaCarro = 40;

function mostraCarro(){
  for (let i = 0; i < imagemCarros.length; i++){
    image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarro, alturaCarro);
  }
}

function movimentaCarro(){
  for (let i = 0; i < imagemCarros.length; i++){
    xCarros[i] -= velocidadeCarros[i];
  }
}

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

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

vê se vai agora

oi or Raul Quirino Rezende, obrigado pela força, eu fiz todo o código revisei, mas nada, a única coisa que não está funcionando é o ator, o pior que nem erro esta dando, simplismente não funciona

Olá Luciano!

Também quebrei a cabeça aqui, tendo certeza que o código estava certo, mas a vaquinha não se mexia. Até eu me lembrar do jogo pong.

Nele a minha raquete só movimentava após eu dar um clique na tela. Com a vaquinha foi o mesmo. O clique fica imóvel, até eu clicar na estrada, depois que faço isso ela se movimenta.

Talvez seu caso seja o mesmo. Li seu código também, e não vi onde poderia haver erro. Tenta aí.

Gilliard, estou grato, foi isso mesmo, mas que doido isso. fiquei dias refazendo, revendo, mas nada.

Doido mesmo. Ainda me pergunto o porque... No Scrath, quando fiz o pong, ao executar o código, tudo funcionava sem necessidade de intervenção, era executar e jogar.

Já no P5 roda o código, mas pra realmente dar start na variavel do jogador 1 tem que clicar na tela.

Se alguém souber dar uma luz....

Dá pra fazer pelo Visual Studio Code? acho que seria interessante tentar por outras ferramentes

solução!

adicionei movimento pra direita e esquerda

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

}