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

Deslocamento inesperado da raquete

Quando eu pressiono a teclar SETA PARA DIREITA a minha raquete se desloca no eixo X para trás (subtrai de xRaquete). Depois, se eu aperto SETA PARA ESQUERDA ela volta para frente (soma em xRaquete), mas somente até a posição inicial.

Esse comportamento é esperado?

Segue o código:

//Variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 22;
let raio = diametro / 2;

//Variáveis da velocidade
let velocidadeXBolinha = 5;
let velocidadeYBolinha = 5;

//Variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let wRaquete = 10;
let hRaquete = 90;

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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete();
  movimentaRaquete();
}

function mostraBolinha(){
  circle(xBolinha, yBolinha, diametro);}

function movimentaBolinha(){
  xBolinha += velocidadeXBolinha;
  yBolinha += velocidadeYBolinha;
}

function verificaColisaoBorda(){
    if (xBolinha + raio >width || xBolinha- raio < 0){
    velocidadeXBolinha *= -1;}

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

function mostraRaquete(){
  rect(xRaquete, yRaquete, wRaquete, hRaquete);}

function movimentaRaquete(){
  if (keyIsDown(UP_ARROW)){
    yRaquete -= 10;
  }
  if (keyIsDown(DOWN_ARROW)){
    yRaquete += 10;}}
2 respostas
solução!

Boa noite Carlos, Acho que você se confundiu na pergunta, não? Pois testei seu código e nenhuma ação é atribuída às setas para direita ou para esquerda. Além disso, sua raquete está se movimentando normalmente para cima ou para baixo. Se for em alguma situação mais específica, escreva aqui pra que eu tente lhe ajudar.

Ei Rodrigo. Então, o problema realmente estava acontecendo, mas depois parou. Não sei se foi alguma coisa que eu mexi ou algum bug, sei lá, mas obrigado pela ajuda!