Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Bolinha some dps que eu coloquei o placar

//Codigo da Bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 25;
let raio = diametro / 2;

//Codigo da Raquete P1
let xRaqueteP1 = 5;
let yRaqueteP1 = 150;
let raqueteP1comprimento = 10
let raqueteP1altura = 90

//Codigo da RaqueteP2
let xRaqueteP2 = 585;
let yRaqueteP2 = 150;
let raqueteP2comprimento = 10
let raqueteP2altura = 90
let velocidadeYP2;

//Codigo da Velocidade da Bolinha
let velocidadeXBolinha = 4.5
let velocidadeYBolinha = 4.5

//Especificações da Bolinha
function mostraBolinha(){
 circle(xBolinha, yBolinha, diametro);
}

//Movimentação da Bolinha
function movimentaBolinha(){
xBolinha += velocidadeXBolinha;
 yBolinha += velocidadeYBolinha;
}

//Especficações das RaqueteS
function mostraRaquete(){
   rect(xRaqueteP1, yRaqueteP1, raqueteP1comprimento, raqueteP1altura);
rect(xRaqueteP2, yRaqueteP2, raqueteP2comprimento, raqueteP2altura);
}

//Movimentação da RaqueteP1
function movimentaRaquetes(){
if (keyIsDown(UP_ARROW)){yRaqueteP1 -= 10}

  if (keyIsDown(DOWN_ARROW)){yRaqueteP1 += 10}
}

//Movimentação da RaqueteP2
function movimentaRaqueteOponente(){
  velocidadeYP2 = yBolinha - yRaqueteP2 - raqueteP2comprimento /2 - 30
  yRaqueteP2 += velocidadeYP2
}

//Placar do Jogo
let meusPontos = 0;
let oponentePontos = 0;

//Sistema do Jogo
function draw() {
 setup();
  mostraBolinha();
movimentaBolinha();
 verificaColisaoBordas();
 mostraRaquete();
  movimentaRaquetes();
  verfificaColisãoRaqueteP1();
  verfificaColisãoRaqueteP2();
  movimentaRaqueteOponente();
  incluiPlacar();
  }

//Background
function setup() {
  createCanvas(600, 400)
background(0);
}

//Verificação das Bordas
function verificaColisaoBordas(){
  if (xBolinha + raio> width || xBolinha - raio < 0){
    velocidadeXBolinha *= -1;
    }
  if (yBolinha + raio> height || yBolinha - raio < 0){
      velocidadeYBolinha *= -1;
}
 }

//Verificação de Colisão P1
function verfificaColisãoRaqueteP1(){
 if (xBolinha - raio < xRaqueteP1 + raqueteP1comprimento && 
      yBolinha - raio < yRaqueteP1 + raqueteP1altura && 
      yBolinha + raio > yRaqueteP1){
    velocidadeXBolinha *= -1;
  }
}

//Verificação de Colisão P2
function verfificaColisãoRaqueteP2(){
 if (xBolinha - raio > xRaqueteP2 + raqueteP2comprimento && 
      yBolinha - raio < yRaqueteP2 + raqueteP2altura && 
      yBolinha + raio > yRaqueteP2){
    velocidadeXBolinha *= -1;
  }
}

//Inclui Placar
function incluiPlacar(){
  fill(255)
  text(meusPontos, 278, 26);
  text(oponentePontos, 321, 26)
  xBolinha += (590)
}

//Marca Ponto
function marcaPonto(){

 if (xBolinha > 590){
   meusPonto += 1
  }
  if (xBolinha < 10){
    oponentePontos += 1
  }
}

1 resposta
solução!

Olá, Raul, tudo bem?

Analisei o seu código e identifiquei o erro que está gerando esse comportamento.

Note que na função incluiPlacar você atribui novo valor ao xBolinha, colocando xBolinha+=(590), isso é equivalente a xBolinha = xBolinha + 590, esse valor chega a ultrapassar o canvas, por isso a bolinha não aparece mais.

Para solucionar basta apagar essa linha. O código ficará assim:

function incluiPlacar(){
fill(255)
text(meusPontos, 278, 26);
text(oponentePontos, 321, 26)
}

Espero ter ajudado.

Caso surja dúvidas, estou à disposição.

Abraços e bons estudos.

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