2
respostas

Raquete oponente não aparece.

A raquete do oponente esta sumindo quando vou para iniciar o jogo.

link

https://editor.p5js.org/giuliano_sonza/sketches/PqFWDCVW2

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

//Velocidade da bolinha
let velocidadexBolinha = 6;
let velocidadeyBolinha = 6;

//Variaveis da Raquete
let xRaquete = 5;
let yRaquete = 150;


//Variaveis do Oponete
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;


let raqueteComprimento = 10;
let raqueteAltura = 90;

let colidiu = false

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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBordas();
   mostraRaquete(xRaquete, yRaquete);
  movimentaMinhaRaquete();
    //verificaColisaoRaquete();
  colisaoMinhaRaqueteBiblioteca();
  mostraRaquete(xRaqueteOponente,yRaqueteOponente);
  movimentaRaqueteOponente();
  }

function mostraBolinha() {

   circle(xBolinha,yBolinha, diametro)
}

function movimentaBolinha(){
 // xBolinha += velocidadexBolinha;
  yBolinha += velocidadeyBolinha;
}


function verificaColisaoBordas() {
  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 colisaoMinhaRaqueteBiblioteca(){
  colidiu =
collideRectCircle(xRaquete,yRaquete,raqueteComprimento,raqueteAltura,xBolinha,yBolinha,raio);
if(colidiu) {velocidadexBolinha *= -1;}
}

function movimentaRaqueteOponente() {
velocidaYOponente = yBolinha - yRaqueteOponente-raqueteComprimento/2-30;
yRaqueteOponente += velocidadeYOponente
}

2 respostas

Alterei a function conforme a que tinha no site da alura e voltou a aparecer sendo que esta igual, realmente não sei o que pode ter ocorrido.

function antiga

function movimentaRaqueteOponente() { velocidaYOponente = yBolinha - yRaqueteOponente-raqueteComprimento/2-30; yRaqueteOponente += velocidadeYOponente }

function nova

function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente }

resolveu porem não sei o que estava de diferente.

insira seu código aqui

Giuliano Cezar Sonza, boa tarde!

Isso pode estar ocorrendo devido ao fato de na função movimentaRaqueteOponente estar escrito velocidaYOponente ao invés de velocidadeYOponente

Espero ter ajudado e bons estudos!