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

Bolinha atravessa a raquete, nao consigo achar o erro

aqui esta meu codigo-

//config da bolinha
let diametro = 20;
let posicaox = 300;
let posicaoy = 200;
let raio = diametro / 2;

//velocidade
let velocidadex = 6;
let velocidadey = 6;

//raquete da direita
let xraqueted = 5;
let yraqueted = 140;
let alturad = 120;
let largurad = 15;

//raquete da esquerda
let xraquetee = 580;
let yraquetee = 140;
let alturae = 120;
let largurae = 15;


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

function draw() {
  background(0);
  circle(posicaox,posicaoy,diametro);
  movimentacao();
  colisaoparede();
  mostraraqueted();
  mostraraquetee();
  movimentoraqueted();
  colisaoraqueted();
}




function mostraraqueted (){
  rect(xraqueted,yraqueted,largurad,alturad)
}



function movimentoraqueted(){
  if (keyIsDown(UP_ARROW)){
    yraqueted -= 5
  }
  if (keyIsDown(DOWN_ARROW)){
    yraqueted += 5
  }
}




function mostraraquetee(){
  rect(xraquetee,yraquetee,largurae,alturae)
}

function movimentacao (){
  posicaox += velocidadex;
  posicaoy += velocidadey;
}





function colisaoparede (){
  if (posicaox + raio > width || posicaox - raio < 0) 
  {
    velocidadex *= -1
  }
  if (posicaoy + raio > height || posicaoy - raio< 0) 
  {
    velocidadey *= -1
  }
}

function colisaoraqueted (){
  if (posicaox - raio < xraqueted + largurad &&
     posicaoy + raio > yraqueted + alturad &&
     posicaoy - raio < yraqueted){
    velocidadex *= -1;
  }
}

eu ja revisei o codigo, mas nao consigo achar onde esta o erro

1 resposta
solução!

Tenta assim na function colisaoraqueted()

if (posicaox - raio < xraqueted + largurad &&
posicaoy - raio < yraqueted + alturad &&
posicaoy + raio > yraqueted)

O meu ficou assim, e deu certo. Porém só vai dar certo se esta for a sua raquete, no caso a que você consegue movimentar. Se for a outra raquete que está dando erro, a do oponente, comenta aqui que eu mostro o código dela também.