2
respostas

Como corrigir bug da quinada raquete?

O jogo esta funcionando normalmente, mas quando a bolinha vem e bate na quina da raquete, ela atravessa a raquete e logo em seguida a borda, a bola desaparece e reaparece voltando como se tivesse colidindo em algo que não vemos fora do cenário.

CODIGO FONTE:


// variaveis referente a bolinha; let xBolinha = 300; let yBolinha = 200; let diametroBolinha = 20; let raioBolinha = diametroBolinha / 2;

// variaveis referente a velocidade da bolinha; let velocidadeXBolinha = 10; let velocidadeYBolinha = 10;

// variaveis referente a raquete; let xRaquete = 10; let yRaquete = 150; let comprimentoRaquete = 10; let alturaRaquete = 100;

// variaveis refernte a velocidade da minha raquete;

let velocidadeMinhaRaquete = 10;

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

function draw() { background(0); mostraBolinha(); velocidadeBolinha(); verificaColisao(); mostraRaquete(); movimentaMinhaRaquete(); verificaColisaoMinhaRaquete(); }

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

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

function verificaColisao(){ if(xBolinha + raioBolinha > width || xBolinha - raioBolinha < 0){ velocidadeXBolinha *= -1; } if (yBolinha + raioBolinha > height || yBolinha - raioBolinha < 0){ velocidadeYBolinha *= -1; } }

function mostraRaquete(){ rect (xRaquete, yRaquete, comprimentoRaquete, alturaRaquete); }

function movimentaMinhaRaquete(){ if(keyIsDown(UP_ARROW)){ yRaquete -= velocidadeMinhaRaquete; }

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

function verificaColisaoMinhaRaquete(){ if(xBolinha - raioBolinha < xRaquete + comprimentoRaquete && yBolinha + raioBolinha > yRaquete && yBolinha - raioBolinha < yRaquete + alturaRaquete){ velocidadeXBolinha *= -1; } }


2 respostas

Gravei o bug e postei no youtube: https://youtu.be/E8K6B3H08Gk

Olá, Matheus! Tudo bom?

Desculpe a demora em responder você!

Realmente esse é um bug do jogo que pode surgir em algumas ocasiões. Porém desenvolvemos uma atividade que corrige esse problema. Você pode acessá-la pelo link Link para "Dica do estudante: bolinha presa na raquete?"

Espero que as informações tenham ajudado!

Um abraço e bons estudos!