1
resposta

Minha raquete vai para o lado e não para baixo. Não consigo resolver!

Quando eu aperto o botão da SETA PARA BAIXO a minha raquete vai para o LADO DIREITO e não para baixo como devia. Segue meu código, desde já agradeço! (o movimentaBolinha está desativado de propósto.)

//variáveis_Bolinha
let xBolinha = 300;
let yBolinha = 200;
let tamanhoBolinha = 25;
let velocidadeXBolinha = 7;
let velocidadeYBolinha = 7;

//Para não "entrar na parede"
let raio = tamanhoBolinha / 2;

//variáveis_Raquete
let xRaquete = 5;
let yRaquete = 150;
let larguraRaquete = 10;
let alturaRaquete = 90;


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

//nesta função é aonde todo o jogo acontece!
function draw() {
  background(0);
   mostraBolinha();
   //movimentaBolinha();
   verificaColisao();
   mostraRaquete();
  movimentaRaquete();
}
function mostraBolinha() {

 circle(xBolinha, yBolinha, tamanhoBolinha);
}


//funções_Bolinha
function movimentaBolinha() {

  xBolinha += velocidadeXBolinha;
  yBolinha += velocidadeYBolinha;
}


function verificaColisao() {

 // "raio" para não "entrar na parede"
  if (xBolinha + raio > width || xBolinha - raio < 0) { 
        velocidadeXBolinha *= -1;

  }

  if (yBolinha + raio > height || yBolinha - raio < 0) {
        velocidadeYBolinha *= -1;   
  }
}


//Funções_Raquete
function mostraRaquete() {

 rect(xRaquete, yRaquete, larguraRaquete, alturaRaquete);

}


function movimentaRaquete() {

if( keyIsDown(UP_ARROW)) {
  yRaquete -= 10;
  } 

  if( keyIsDown(DOWN_ARROW)) {
  xRaquete += 10;

  }
}
1 resposta

Fala, Nicollas! Tudo bem contigo?

Perceba que na função movimentaRaquetequando apertamos para baixo está programado para a movimentação ser na direção X da raquete.

  if( keyIsDown(DOWN_ARROW)) {
  xRaquete += 10;

  }

Assim que alterado para yRaquete terá o comportamento esperado!!!

Espero ter ajudado, Nicollas!

Um abraço e bons estudos!