4
respostas

ReferenceError: fill is not defined

fiz uma outra pergunta pra resolver isso achei q tinha resolvido pois meu jogo começou a rodar, porem ele n mostra o placar mesm assim e essa mensagem e a que aparece pra mim, sei oq fazer

4 respostas

Compartilhe o seu código para que eu possa dar uma analisada ;)

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

//velocidade da bolinha let velocidadeXBolinha = 6 let velocidadeYBolinha = 6

//variaveis da raquete let xRaquete = 5 let yRaquete = 150 let lRaquete = 10 let aRaquete = 90

//variaveis do bot let xRaqueteBot = 585 let yRaqueteBot = 150 let velocidadeYBot;

//placar

let pontosDoPai let pontosDele

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); Raquete(xRaquete,yRaquete); Raquete(xRaqueteBot,yRaqueteBot); movimentoMRaquete(); colisao(xRaquete,yRaquete); movimentoBot(); colisao(xRaqueteBot,yRaqueteBot); pontos(pontosDoPai,278,26); pontos(pontosDele, 321,26); //raquetada();

}

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 Raquete(x,y){

rect(x,y,lRaquete,aRaquete) }

function movimentoMRaquete(){

if (keyIsDown(UP_ARROW)) { yRaquete -= 10; }

if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } } function raquetada(){

if (xBolinha - raio < xRaquete + lRaquete && yBolinha - raio < yRaquete + aRaquete && yBolinha + raio > yRaquete){ xBolinha *= -1; } }function colisao(x,y){ colidir = collideRectCircle(x, y, lRaquete, aRaquete, xBolinha, yBolinha, diametro); if (colidir){ velocidadeXBolinha *= -1; } }

function movimentoBot(){ velocidadeYBot = yBolinha - yRaqueteBot - lRaquete /2 -30; yRaqueteBot += velocidadeYBot } function pontos(pontos,x,y){ fill (300); text(pontos,x,y); }

mb esqueci disso

As variáveis pontosDoPai e pontosDele não tinham valor atribuído, atribui valor 0 a elas como abaixo:

let pontosDoPai = 0
let pontosDele = 0

Modifiquei um pouco a function pontos:

function pontos(){ 
  fill (300); 
  text(pontosDoPai, 278, 26)
  text(pontosDele, 321, 26)
if (xBolinha > 585){
    pontosDoPai += 1}
if (xBolinha < 15){
    pontosDele += 1
}}

Isso deve resolver seu problema, o único detalhe é que para essa solução funcionar você só deve "chamar" a function pontos uma única vez e não atribuir X e Y a ela, assim como abaixo:

function draw() { 
  background(0); 
  mostraBolinha()
  movimentaBolinha(); 
  verificaColisaoBorda(); 
  Raquete(xRaquete,yRaquete); 
  Raquete(xRaqueteBot,yRaqueteBot); 
  movimentoMRaquete(); 
  colisao(xRaquete,yRaquete); 
  movimentoBot(); 
  colisao(xRaqueteBot,yRaqueteBot); 
  pontos(); 
 //raquetada();
}

nossa ficou mt diferente do que ele ensinou na aula kkkkk vou ver se funcionou, so um minuto