2
respostas

[Bug] Bolinha acompanha o eixo Y mais fica tremendo no centro da tela, no console não acusa nada. Meus códigos abaixo

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

// velocidade da bolinha let velocidadeXbolinha = 6; let velocidadeYbolinha = 6;

//variáveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90;

//variáveis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;

let colidiu = false;

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificacolisaoBorda(); mostraRaquete( xRaquete, yRaquete); movimentaMinhaRaquete(); verificaColisaoRaquete(); verificaColisaoRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente); }

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() { if (xBolinha - raio < xRaquete + raqueteComprimento) { velocidadeXBolinha *= -1; } }

function verificaColisaoRaquete() {

if (xBolinha - raio < xRaquete + larguraRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete){ velocidadeX *= -1; } }

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

}

}

function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente; }

2 respostas

Estou com o mesmo problema.

estou com esse problema também mas usei o código antigo