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

[Dúvida] A minha raquete não se movimenta

Ao Colocar o código:

function movimentaMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){ 
   yRaquete -=10; 
  } // incluída
  if (keyIsDown(DOWN_ARROW)){ 
   yRaquete +=10;   
  }   
  

As funcões "UP_ARROW" e "DOWN ARROW" ficam roxas e aparece o seguinte erro:

SyntaxError: Unexpected end of input
  at /sketch.js:60:7
  

O que devo fazer?

5 respostas

Oi Miguel tudo bem com você?

O erro "SyntaxError: Unexpected end of input" indica que há um erro de sintaxe no código, possivelmente uma chave de fechamento ausente. No código fornecido, a função movimentaMinhaRaquete() está incompleta, faltando a chave de fechamento } para encerrar a função. Para corrigir o erro, é necessário:


function movimentaMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){ 
   yRaquete -=10; 
  } // incluída
  if (keyIsDown(DOWN_ARROW)){ 
   yRaquete +=10;   
   }
 } // adicionar a chave para encerrar a função.

Espero ter conseguido ajudar, qualquer dúvida estou aqui!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Corrigi o erro, mas mesmo assim a raquete não se move

o "UP_ARROW" e "DOWN_ARROW", continua na cor Roxa, mas não aparece nenhum erro.

Segue código completo:

// Variaveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let Diametro = 22;
let raio = Diametro / 2;

// Velocidade da bolinha
let velocidadeXBolinha = 7;
let velocidadeYBolinha = 7;

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

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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisão();
  mostraRaquete();
  movimentaMinhaRaquete();
} 

function mostraBolinha(){
  circle(xBolinha, yBolinha, Diametro);
}

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

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

function mostraRaquete(){
  rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura)
}

function movimentaMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){ 
   yRaquete -=10; 
  } // incluída
  if (keyIsDown(DOWN_ARROW)){ 
   yRaquete +=10;   
  } 
}
solução!

Oi Miguel!

Eu testei aqui seu código, e está funcionando super bem.

Tente quando der "play" no jogo, clicar em qualquer lugar do Preview com o mouse, e depois começar a movimentar as setas.

Caso não consiga, por favor, me envie o link do seu projeto, assim consigo te ajudar de forma mais detalhada e assertiva.

Fico no aguardo e à disposição

perfeito tirou minha duvida também rsrs(^^)

Creio que acontece o mesmo que o meu quando der play tem que clicar na tela do jogo para começar a mexer com as teclas.