Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Bug] Bola presa dentro da Raquete

Reparei que algumas vezes quando a bolinha atinge o topo ou fundo da Raquete ela sobrepõem e fica "flickando" (multiplicando sua velocidade por -1 diversas vezes) dentro dela até atingir o outro lado (fundo>topo | topo>fundo) ocasionando num spam do som de Raquetada, talvez por conta do comprimento.

Print da Bolinha presa dentro da Raquete

Eu não quis diminuir o tamanho e tentei solucionar de algumas maneiras:

if ((xParedeP - wParede > xBola - r > xParedeP + wParede) && (yParedeP - hParedeP < yBola - r < yParedeP + hParede)){
    xBola = xParedeP + wParedeP * 1.5;
    yBola = yParedeP;  
  }

ParedeP -- Parede Player | w -- width | h -- height

uma das maneiras foi essa (até eu acho meio exagerado), no meu raciocinio, se a coordenada X da Bolinha estiver coincidindo dentro da coordenada X da raquete + o comprimento dela && se a coordenada Y da Bolinha estiver ... *Y da raquete + a altura *(ou seja no meio dela)

ela é teleportada logo em frente da raquete ( o ideal era que, se acontecesse seria ponto inimigo, mas eu tava testando se funcionava)

mas não funciona :P (também não achei nada sobre)

3 respostas
solução!

Resolvi!!

 if (xBola < xParedeP + wParede && xBola > xParedeP && yBola > yParedeP - hParede && yBola < yParedeP + hParede){
    xBola = 300;
    yBola = yParedeP;  
  }

Onde estava o erro? não sei.

acho que essa lingua, pelo menos, não aceita "x < y < z", só "y < z && y > x"

Aqui tem um código mais otimizado e com valores que serviram pro meu diâmetro da Bolinha (20)

function bolaBug(x, y, w) {
  if (xBola < x + wParede + 1 && xBola > x && yBola > y - d/1.35 && yBola < y + hParede + d/1.3) {
    xBola -= w/1.25;  
  }
}

a ideia é a mesma de cima se a posição X da Bolinha for menor que a posição X d e no draw ele ficou

function draw() {
[...]
  bolaBug(xParedeP, yParedeP, wParede);
  bolaBug(xParedeR, yParedeR, -wParede);

x ou yParedeP -- posição Y ou X da Raquete do Jogador x ou yParedeR -- posição Y ou X da Raquete do Computador wParede -- Comprimento da Raquete

não é que no final da aula tinha uma soluç