1
resposta

download inabilitado

oiii gente! o download não consegui baixar mas fiz de outro jeito..

// variaveis bolinhas
let xBolinha = 300;
let yBolinha = 200;
let diametro = 20;

// variaveis raquetes
let xRaquete = 20;
let yRaquete = 150;
let xRaquete2 = 600-20;
let yRaquete2 = 150;
let raqueteComprimento = 10;
let raqueteAltura = 90;

// variaveis velocidades

let velocidadeX = 6;
let velocidadeY = 6;


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

function draw() {
  background(0);
  circle(xBolinha,yBolinha,diametro);
  tocaRaquetes();
  movimentaBolinha();
  movimentaRaquete();
  rect (xRaquete,yRaquete,raqueteComprimento,raqueteAltura);
  movimentaRaquete2();
  rect (xRaquete2,yRaquete2,raqueteComprimento,raqueteAltura);



}

function limiteBolinha(){

  if ((xBolinha+(diametro/2) >= 600)|| (xBolinha-(diametro/2) <= 0)){
    velocidadeX =  velocidadeX * (-1);

  }  
  if ((yBolinha+(diametro/2) >= 400)||(yBolinha - (diametro/2) <=0)){
    velocidadeY = velocidadeY * (-1);
  }
}

 function movimentaBolinha (){
   limiteBolinha ();
   xBolinha += velocidadeX;
   yBolinha += velocidadeY;
 }

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

 function movimentaRaquete(){

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


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

function tocaRaquetes(){
    if((xBolinha-diametro/2 >=xRaquete)&&
       (xBolinha-diametro/2 <=xRaquete+raqueteComprimento)&&
       (yBolinha<=yRaquete+raqueteAltura)&&
       (yBolinha>=yRaquete)){
     velocidadeX *=-1;
  }
    if((xBolinha+diametro/2>=xRaquete2)&&
       (xBolinha+diametro/2<=xRaquete2+raqueteComprimento)&&
       (yBolinha<=yRaquete2+raqueteAltura)&&
       (yBolinha>=yRaquete2)){
     velocidadeX *=-1;
  }
}

function movimentaRaquete2(){
  if (xBolinha + 60>= xRaquete2){
    if (yRaquete2<yBolinha){
      yRaquete2 +=10;
    }
    if (yRaquete2>yBolinha){
      yRaquete2 -=10;
    }

  }
}
1 resposta

Oi, Joyce! Tudo certo?

Parabéns pela sua solução, é muito bacana exercitar a partir de novas implementações. No entanto também é interessante aprender a consumir a biblioteca do p5.collide2d, pois essa é uma prática comum no cotidiano do programador. Uma sugestão é que você faça outro projeto para desenvolver essa habilidade.

Vou deixar aqui um link que irá realizar o download automático da biblioteca para o seu computador, tudo bem?

Uma sugestão é que você crie um arquivo p5.collide2D.js no seu projeto p5.js e depois é só copiar o conteúdo da biblioteca (que você consegue abrir pelo vscode) e colar no arquivo criado.

Um ponto importante é saber se você está logado com a sua conta do p5.js, pois somente assim o editor online permite o upload de arquivos.

Espero ter ajudado, fico à disposição!

Um abraço e bons estudos!