Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida: collideRectCircle is not defined

Não consigo consertar o "ReferenceError: collideRectCircle is not defined". Quando aperto o play a música toda, os botões configurados não funcionam e a bolinha não se mexe. O placar e a raquete do oponente não aparecem. Alguém conseguiria me ajudar? No momento o meu código está assim:

//variaveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 18; let raio = diametro / 2;

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

//variáveis da raquete let xRaquete = 5; let yRaquete = 150; let larguraRaquete = 10; let alturaraquete = 100; let colidiu = false;

//variaveis oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;

//placar do jogo let meusPontos = 0; let pontosDoOponente = 0;

//sons do jogo let raquetada; let ponto; let trilha;

function preload(){ trilha = loadSound("trilha.mp3"); ponto = loadSound("ponto.mp3"); raquetada = loadSound("raquetada.mp3"); }

function setup() { createCanvas(600, 400); trilha.loop(); }

function draw() { background(0); mostraBolinha(); movimentaBolinha(); colisaoBolinha(); mostraRquete(xRaquete, yRaquete); movimentaMinhaRaquete(); //verificaColisaoRaquete(); verificaColisaoRaquete(xRaquete, yRaquete); mostraRquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente); incluiPlacar(); marcaPonto(); }

function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); } function movimentaBolinha(){ xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha; } function colisaoBolinha(){ if (xBolinha + raio > width || xBolinha - raio < 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio > height || yBolinha - raio < 0){ velocidadeYBolinha *= -1; } }

function mostraRquete(x, y){ rect(x, y, larguraRaquete, alturaraquete); }

function movimentaMinhaRaquete(){ if (keyIsDown(87)){ yRaquete -= 10; } if (keyIsDown(83)){ yRaquete += 10; }

}

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

function verificaColisaoRaquete(x, y){ colidiu = collideRectCircle(x, y, larguraRaquete, alturaraquete, xBolinha, yBolinha, raio); if (colidiu){ velocidadeXBolinha *= -1; raquetada.play(); } }

function movimentaRaqueteOponente(){ if (keyIsDown(UP_ARROW)){ yRaqueteOponente -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaqueteOponente += 10; } }

function incluiPlacar(){ stroke(255); textAlign(CENTER); textSize(16); fill(color(255, 140, 0)); rect(130, 10, 40, 20); fill(255); text(meusPontos, 150, 26); fill(color(255, 140, 0)); rect(430, 10, 40, 20); fill(255); text(pontosDoOponente, 450, 26); }

function marcaPonto(){ if (xBolinha > 590){ meusPontos += 1; ponto.play(); } if (xBolinha < 10){ pontosDoOponente += 1; ponto.play(); } } Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Oi Laura, boa tarde, você lembrou de adicionar a referencia ao arquivo importado do PJ5? na aba de index.html?

Obrigada! Sim, havia me esquecido disso. Agora no Index ficou como

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