1
resposta

bolinha bugada

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

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

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

//velocidade da bolinha let velocidadeXBolinha = 2; let velocidadeYBolinha = 2;

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete,yRaquete); movimentaMinhaRaquete(); movimentaRaqueteOponente() verificaColisaoRaquete(); verificaColisaoRaqueteOponente() mostraRaquete(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 movimentaRaqueteOponente(){ velocidadeYOponente = yBolinha- yRaqueteOponente- raqueteComprimento/2-30 yRaqueteOponente += velocidadeYOponente }

function verificaColisaoRaquete(){ if (xBolinha-raio < xRaquete + raqueteComprimento && yBolinha-raio< yRaquete + raqueteAltura && yBolinha + raio > yRaquete){velocidadeXBolinha *= -1}

} function verificaColisaoRaqueteOponente(){ if (xBolinha-raio < xRaqueteOponente + raqueteComprimento && yBolinha-raio< yRaqueteOponente + raqueteAltura && yBolinha + raio > yRaqueteOponente){velocidadeXBolinha *= -1} }

1 resposta

Olá, Higor! Tudo bom?

Desculpe a demora em responder você.

Esse problema ocorreu porque você utilizou um cálculo incorreto para corresponder à lógica de colisão do outro lado da tela. Para isso o professor utiliza a biblioteca collide2d.

Caso continue com dúvidas, fico à disposição.

Bons estudos!