2
respostas

[Dúvida] (keyIsDown (UP_ARROW)) e (DOWN_ARROW)) não funciona !

Boa noite minha raquete não esta se movimentando, poderia me ajudar fazendo um favor! Segue o link https://editor.p5js.org/Ricarrdinho/sketches/AlEA1c5hM

2 respostas

Boa noite Ricardo, tudo bem?

Verifiquei que estava faltando fechar uma chave, e a condição "keyIsDown" está sendo chamada "KeyIsDown" com o "K" maiscúlo, o correto seria "k" minuscúlo.

Tente rodar da seguinte forma:

//variavéis da bolinha 
let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;
let raio = diametro / 2;

//velocidade da bolinha
let velocidadexBolinha = 6;
let velocidadeyBolinha = 6;
let raqueteComprimento = 10;
let raqueteAltura = 90;


//variavéis da raquete
let xRaquete = 5;
let yRaquete = 150;


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

function draw() {
  background(0);
  mostrarBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete();
  movimentaMinhaRaquete();
}

function mostrarBolinha (){
  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(){
  rect(xRaquete, yRaquete, raqueteComprimento, 
      raqueteAltura)
}
function movimentaMinhaRaquete(){
  if (keyIsDown (UP_ARROW )){
    yRaquete -= 10;
  }
  if (keyIsDown( DOWN_ARROW )){
    yRaquete += 10;
  }
}//variavéis da bolinha 
let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;
let raio = diametro / 2;

//velocidade da bolinha
let velocidadexBolinha = 6;
let velocidadeyBolinha = 6;
let raqueteComprimento = 10;
let raqueteAltura = 90;


//variavéis da raquete
let xRaquete = 5;
let yRaquete = 150;


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

function draw() {
  background(0);
  mostrarBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete();
  movimentaMinhaRaquete();
}

function mostrarBolinha (){
  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(){
  rect(xRaquete, yRaquete, raqueteComprimento, 
      raqueteAltura)
}
function movimentaMinhaRaquete(){
  if (keyIsDown (UP_ARROW )){
    yRaquete -= 10;
  }
  if (keyIsDown( DOWN_ARROW )){
    yRaquete += 10;
  }
}

Boa noite Eduardo tudo certo !

Muito obrigado pela informação...vou me atentar a esses detalhes, tmj!