1
resposta

Jogo Pong criado pelo P5.js

no meu Código a Bolinha não esta indo ate a margem inferior ela ultrapassa segui as instruções corretamente do instrutor, mais ela ultrapassa e depois volta coloque o comando para > que "0" mais ela vai além no EIXO Y. colocarei em negrito o código com o eixo Y. desde ja agradeço se alguem puder me esclarecer o porque esta ocorrendo isso.

// Criando Variáveis
let xBolinha = 300;
let yBolinha = 200;
let dBolinha = 15;
let velocidadexBolinha = 07;
let velocidadeyBolinha = 07;

function setup() {
//Tamanho do meu Quadro
  createCanvas(600, 400);
}

function draw() {
  //Estipulo a cor do meu Quadro
  background(0);

  //Criando a Bolinha
  circle(xBolinha,yBolinha,dBolinha);

  //Estipulando a Velocidade da Bolinha
  //xBolinha += velocidadexBolinha;
  yBolinha += velocidadeyBolinha;

  //Estipulando até onde quero que a Bolinha vá
  if (xBolinha > width || xBolinha < 0){
    velocidadexBolinha *= -1;

  }
  **if (yBolinha > height || yBolinha < 0){
    velocidadeyBolinha *= -1;**
  }
}
1 resposta

Oi Hugo! Como você está?

Peço desculpas pela demora em te responder.

Para que a colisão com as bordas fique mais exata, podemos criar uma variável raio:

let raio = dBolinha / 2;

E adicioná-la na condição que verifica se a posição da bolinha está passando a posição da tela, assim:

  //Estipulando até onde quero que a Bolinha vá
  if (xBolinha + raio > width || xBolinha - raio < 0){
    velocidadexBolinha *= -1;

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

Como o x e o y da bolinha estão no centro dela, ao utilizar o tamanho do raio podemos atingir a borda da bolinha em que estamos interessados em determinada condição. No eixo x, por exemplo, ao somar o raio temos a parte direita da bolinha, e ao diminuir teremos a parte esquerda.

Me conta se deu certo, Hugo!

Forte abraço.

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