1
resposta

Na aula "jogos clássicos parte 1" iniciando no javaScript com pong . aula: 4 Importando outra biblioteca . o jogo está parando quando a bolinha toca na raquete do oponete

//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;

//velocidade da bolinha
let velocidadeXbolinha = 4;
let velocidadeYbolinha = 4;
let raqueteComprimento = 10;
let raqueteAltura = 90;

//variáveis da raquete

let xRaquete = 5;
let yRaquete = 150;
let colidiu = false;

// variáveu oponente
let xRaquete2 = 585;
let yRaquete2 = 150;
let velocidadeYoponete;


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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha(); 
  verificaColisaoBorda();
  mostraRaquete(xRaquete, yRaquete);
  movimentaMinhaRaquete();
  verificaColisaoRaquete(xRaquete, yRaquete);
  mostraRaquete(xRaquete2, yRaquete2);
  movimentaRaqueteOponente();
  verificaColisaoRaquete(xRaquete2, yRaquete2);

}

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(x, y){

  rect(x, y, raqueteComprimento, raqueteAltura);
}

function movimentaMinhaRaquete(){

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

     }
  if(keyIsDown(DOWN_ARROW)){
    yRaquete += 10;
  }
}

function verificaColisaoRaquete(x, y) {
    colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
    if (colidiu){
        velocidadeXBolinha *= -1;
    }
}
function movimentaRaqueteOponente(){

  velocidadeYoponente = yBolinha - yRaquete2 - raqueteComprimento / 2 -30;
  yRaquete2 += velocidadeYoponente;


}
1 resposta

Oii Ademir, tudo bem por aí?

Peço desculpa pela demora em te responder.

Isso aconteceu pois há um errinho de sintaxe em uam variável que foi chamada dentro da função verificaColisaoRaquete(). Perceba que velocidadeXbolinha está com o B maiúsculo.

O JS é uma linguagem case sensitive. Isso quer dizer que ela é sensível a mudanças entre caracteres maiúsculos e minúsculos, então é essencial que as variáveis tenham a escrita idêntica à da forma como foram declaradas durante todo o decorrer do programa.

Corrigir essa letra deve fazer com que tudo volte a funcionar normalmente!

Abraço.

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