1
resposta

A bolinha n tem colisão

let XBall = 300;
let YBall = 200;
let DBall = 20;
let Speed = 5;
let Baixo = 5;
let Raio = DBall / 2;

let raqtX = 5;
let raqtY = 150;
let raqtL = 10;
let raqtA = 90;

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

function draw() {
  background(0);
  circle(XBall,YBall,DBall);
  XBall += Speed;
  //YBall += Baixo;
  Raqt();
  MoveP1();
  colisao();

  if (XBall + Raio > width || XBall - Raio< 0)
    {
     Speed *= -1;
    }

  if (YBall + Raio > height || YBall - Raio < 0)
    {
     Baixo *= -1;
    }
}

function Raqt()
{
  rect(raqtX, raqtY, raqtL, raqtA);
}

function MoveP1()
{
  if(keyIsDown(UP_ARROW))
    {
      raqtY -= 5;
    }
  if(keyIsDown(DOWN_ARROW))
    {
      raqtY += 5;
    }
}

function colisao()
{
 if(XBall - Raio < raqtX + raqtL)
   {
     Speed *= 1;
   }
}
1 resposta

Olá, Gustavo. Tudo bem?

O único problema é que você esqueceu de inverter o valor da multiplicação na variável da velocidade, pois é assim que a bolinha irá bater e "voltar". Vou deixar um fragmento de código para você verificar:

function colisao()
{
 if(XBall - Raio < raqtX + raqtL)
   {
     Speed *= -1;
   }
}

Uma sugestão é que você siga a nomenclatura e passos do instrutor para praticar . Depois disso é interessante trabalhar com a refatoração de nomes para o inglês. No entanto fique atento às boas práticas da linguagem JavaScript: uma delas é a nomenclatura com camel case

Um abraço e fico à disposição!