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

erro na linha "colidiu="

Prezados, mais uma vez preciso de ajuda. o java ta impedindo meu código de rodar pois alega erro na linha q ta escrito "colidiu=". Sendo que está identico ao professor do vídeo, se puderem me ajudem. desde já obrigado.

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

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

//variaveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10 let raqueteAltura = 90

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

let colidiu = false;

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

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); incluiPlacar(); marcaPonto(); }

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 && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -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 }

function incluiPlacar(){ fill(255); text(meusPontos, 278, 26); text(pontosDoOponente, 321, 26); }

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

6 respostas

Olá Luiz, tudo certo?

Qual a mensagem de erro que aparece? E em qual dos 'colidiu = ' que o erro ocorre?

será que não está faltando um 'var' antes de 'colidiu ='

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

o erro que aparece:

Uncaught ReferenceError: collideRectCircle is not defined (sketch: line 89)

solução!

Então, você está chamando uma função que não está definida (não existe).

Esta função:

collideRectCircle(x,  y, raqueteComprimento, raqueteAltura, xBolinha,yBolinha, raio);

Prezados,

Achei o erro, obrigado pela ajuda.

Olá, Luiz! Poderia me informar sua solução?

Agradeço desde já

O erro estava no fato de que eu apenas estava copiando e colando o código em uma página de word que salvei e esqueci de copiar e indexar o arquivo encontrado no próprio P5 que dá função ao "colidiu"