1
resposta

[Bug] Raquete do Oponente funciona mas a minha Não

Fui abrir meu p5.js e a colisão da minha raquete não estava funcionando mesmo com tudo ok igual ao video do professor, mas a raquete do oponente sim, o que fazer ?

let xBolinha = 300 let yBolinha = 200 let dBolinha = 20

let velocidadeXBolinha = 6 let velocidadeYBolinha = 6 let raio = dBolinha /2

let xRaquete = 5 let yRaquete =150 let wRaquete =10 let hRaquete =90

let xRaqueteOponente = 585; let yRaqueteOponente = 150 let wRaqueteOponente = 10 let hRaqueteOponente = 90 let velocidadeYOponente;

let colidiu = false;

let meusPontos = 0 let pontosOponente = 0

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

function draw() { background(0); mostraBolinha() movimentaBolinha() verificaBolinha() mostraRaquete() movimentaRaquete() verificaRaquete() verificaColisaoRaquete(xRaquete,yRaquete) verificaColisaoRaquete(xRaqueteOponente,yRaqueteOponente) mostraRaqueteOponente(xRaqueteOponente,yRaqueteOponente) movimentaRaqueteOponente() mostraPlacar() marcaPonto() }

function mostraBolinha(){ circle (xBolinha,yBolinha,dBolinha) }

function movimentaBolinha(){ xBolinha += velocidadeXBolinha yBolinha += velocidadeYBolinha }

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

function mostraRaquete(){ rect (xRaquete,yRaquete,wRaquete,hRaquete) }

function movimentaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10 } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10 } }

function verificaRaquete(){ if(xBolinha - raio < xRaquete + wRaquete && yBolinha - raio < yRaquete + hRaquete && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1 } }

function verificaColisaoRaquete(x,y){ colidiu = collideRectCircle(x,y,wRaquete,hRaquete, xBolinha,yBolinha,dBolinha) if (colidiu){ velocidadeXBolinha *= -1 } }

function mostraRaqueteOponente(){ rect (xRaqueteOponente,yRaqueteOponente, wRaqueteOponente,hRaqueteOponente) }

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

function mostraPlacar(){ fill(255) text(meusPontos, 278, 26) text(pontosOponente, 321, 26) }

function marcaPonto(){ if (xBolinha > 590){ meusPontos +=1 } if (xBolinha < 10){ pontosOponente += 1 } }

1 resposta

Boa tarde, Vinicius. Beleza?

Você tem que comentar a função verificaRaquete() dentro do seu setup(). Acredito que vá resolver seu bug.

Abraços.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software