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

[Bug] (keyIsDown(UP_ARROW)) Não movimenta o ator para cima

(Obs: A tecla para descer funciona perfeitamente, porém foi um ctrl+C e ctrl+V no código.)

// cenario do jogo 
let imagemDaEstrada;
let imagemDoAtor; 
let imagemCarro

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

// ator
let yAtor = 366;

function mostraAtor(){
  image(imagemDoAtor, 150, yAtor, 30, 30);
}
function movimentaAtor(){
  if (keyIsDown(UP_ARROW)){
    yAtor -= 3;
  }
}
function movimentaAtor(){
  if (keyIsDown(DOWN_ARROW)){
    yAtor += 3;
  }
}

// carro 
let xCarro = 700;
function mostraCarro(){
  image(imagemCarro, xCarro, 40, 70, 40)
}
function movimentaCarro(){
  xCarro -= 2;  
}
// funções basicas do programa
function setup() {
  createCanvas(700, 400);
}

function draw() {
  background(imagemDaEstrada);
  mostraAtor();
  mostraCarro();
  movimentaCarro ();
  movimentaAtor();
}
2 respostas
solução!

Oi Mateus, tudo bem?

Obrigada por compartilhar o seu código. O bug está ocorrendo devido a localização das chaves na função. No seu código temos:

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

Podemos observar que abaixo doyAtor -= 3; tem duas chaves }*, e abaixo do yAtor +=3; tem duas chaves *}. Teremos que retirar uma chaves abaixo do yAtor -= 3; e adicionar uma chaves abaixo do yAtor +=3; para que a função seja fechada e possa ser executada corretamente. Abaixo temos o código modificado:

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

Fique à vontade para copiar o código acima para realizar as modificações, faça o teste e me conte se funcionou.

Espero ter ajudado, qualquer dúvida estaremos à disposição.

Bons estudos e a gente se vê!

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

Boa noite, Nathalia. Tudo sim, obrigado. O código funcionou sim, obrigado pela resolução!!