Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resolvido - Faça como eu fiz na aula

//Variáveis da bolinha
let xBolinha = 300; // Variável da Posição X da bolinha
let yBolinha = 200; // Variável da Posição Y da bolinha
let dBolinha = 15;  // Variável do Diametro da bolinha
let rBolinha = dBolinha/2; //Variável do Raio da bolinha

//Variáveis da raquete
let xRaquete = 5;// Variável da Posição X da raquete
let yRaquete = 150; // Variável da Posição Y da raquete
let wRaquete = 10; // Variável da Comprimento da raquete
let hRaquete = 90; // Variável da Largura da raquete


//Variáveis de movimentação da bolinha
let velocidadeXBolinha = 6; // Variável da Velocidade da bolinha no eixo X
let velocidadeYBolinha = 6; // Variável da Velocidade da bolinha no eixo Y

let colidiu = false; //Variável assumindo false - não colidiu

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

function draw() {
  background(0); // Fundo do Programa
  mostraBolinha(); // Chamada da função mostraBolinha()
  movimentaBolinha(); // Chamada da função movimentaBolinha()
  colisaoBolinha(); // Chamada da função colisaoBolinha()
  mostraRaquete(); // Chamada da função mostraRaquete()
  movimentaMinhaRaquete();
  verificaColisaoRaquete();
  colisaoColisaRaqueteBiblioteca();
}

function mostraBolinha(){ // Função para mostrar a bolinha
  circle(xBolinha, yBolinha, dBolinha); // Inicialização da bolinha
}

function movimentaBolinha(){ // Função para movimentar a bolinha
  xBolinha += velocidadeXBolinha; // Comando para bolinha se movimentar no eixo X
  yBolinha += velocidadeYBolinha; // Comando para bolinha se movimentar no eixo Y
}

function colisaoBolinha(){
  if (xBolinha + rBolinha > width || xBolinha - rBolinha < 0){
      velocidadeXBolinha *= -1; // Inverter o lado do eixo X da bolinha quando tocar na borda
  }
  if(yBolinha + rBolinha > height || yBolinha - rBolinha < 0){
      velocidadeYBolinha *= -1; // Inverter o lado do eixo Y da bolinha quando tocar na borda
  }
}

function mostraRaquete(){ // Função para mostrar a raquete
  rect(xRaquete, yRaquete, wRaquete, hRaquete);
}

function movimentaMinhaRaquete(){
  if(keyIsDown(UP_ARROW)){ // Se pressionado setinha para baixo então vá para baixo
    yRaquete -= 10;
  }
  if(keyIsDown(DOWN_ARROW)){ // Se pressionado setinha para cima então vá para cima
    yRaquete += 10;
  }
}

function verificaColisaoRaquete(){
  if(xBolinha - rBolinha < xRaquete + wRaquete && yBolinha - rBolinha < yRaquete+ hRaquete && yBolinha + rBolinha > yRaquete){ //Condição SE para verificar se bolinha está tocando na borda ou na raquete
    velocidadeXBolinha *= -1;// Movimentar a bolinha para o outro lado caso seja verdadeiro
  }
}

function colisaoColisaRaqueteBiblioteca(){ //Importação de trecho de código de outras pessoas
  colidiu = collideRectCircle(xRaquete, yRaquete, wRaquete, hRaquete, xBolinha, yBolinha, rBolinha);
  if (colidiu){
    velocidadeXBolinha *= -1;// Movimentar a bolinha para o outro lado caso seja verdadeiro
  } 
}
1 resposta
solução!

Olá Felipe, como vai?

Excelente código!! Parabéns!!

Continue praticando. Qualquer dúvida estamos por aqui.

Abraços e bons estudos!