1
resposta

[Dúvida] ReferenceError: movimentacaoRaquete2 is not defined (JOGO PONG)

Olá, estou no primeiro modulo de programação, realizando o código juntamente do professor. Porém, no tópico para programar o jogo PONG empaquei na parte de programar a movimentação da raquete do Oponente. O código esta (aparentemente) tudo em ordem,porem sigo recebendo a mesma mensagem ''ReferenceError: movimentacaoRaquete2 is not defined'' Abaixo o códigoque estou utilizando:

// Variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let dIAMETRO = 15;
let raio = dIAMETRO / 2 ;


//Variáveis das raquetes
let xRaquete = 5
let yRaquete = 150
let comprimentoRaquete = 10
let alturaRaquete= 95

//Variáveis Raquete Oponente
let xRaquete2 = 580
let yRaquete2 = 150
let velocidadeYOponente


// Velocidade da bolinha
let velocidadex = 6;
let velocidadey = 6;

//Plano de fundo 
function setup() {
  createCanvas(600, 400);
}

//Programa
function draw() {
  background(0);
mostraBolinha();
movimentacaoBolinha();
colisaoBolinhaBorda()  
raquete(xRaquete,yRaquete)
raquete(xRaquete2, yRaquete2)
movimentacaoRaquete1()
colisaoBolinhaRaquete()
movimentacaoRaquete2()
}

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

function movimentacaoBolinha(){
//xBolinha += velocidadex;
yBolinha += velocidadey;  
}

function colisaoBolinhaBorda(){
  if (xBolinha + raio > width ||
      xBolinha - raio < 0)
    velocidadex *= -1

  if (yBolinha + raio > height ||
      yBolinha - raio < 0)
    velocidadey *= -1   
}

//Raquetes

function raquete(x,y){
rect(x, y, comprimentoRaquete, alturaRaquete)
}

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

function colisaoBolinhaRaquete(){
if (xBolinha - raio < xRaquete + comprimentoRaquete && yBolinha - raio < yRaquete +alturaRaquete && yBolinha + raio > yRaquete){
   velocidadex *= -1
}

  function movimentacaoRaquete2(){
    velocidadeYOponente = yBolinha - yRaquete2 - comprimentoRaquete / 2 - 30
    yRaquete2 += velocidadeYOponente
  }
}
1 resposta

Olá Gabriel! Acredito que este erro esteja acontecendo devido ao fato de que sua função está dentro de outra, no caso dentro da "colisaoBolinhaRaquete". Retire a função de dentro dela e tente utilizar novamente!