1
resposta

Algumas dúvidas

1) Por que se eu aumentar o diâmetro da bolinha ela bate apenas na parte superior da raquete do oponente e eu não consigo marcar pontos? Além disso, a bolinha passa da raquete quando o diâmetro é aumentado.

2) Por que a bolinha às vezes trava atrás apenas da minha raquete?

3) Por que se eu tirar o comentário de verificaColisaoRaquete(); a bolinha fica apenas no meio da tela tremendo?

4) Também notei que começo fazendo um ponto e só consigo fazer marcar de novo se deixo o oponente marcar, por quê?

Alguém sabe me dizer?

1 resposta

Olá, Frederico! Tudo bem contigo?

1 - O código faz com que a bolinha bata no meio da raquete e quando altera, o tamanho da bolinha, ela perde esse "centro" da raquete como referência e acaba subindo ou descendo conforme o valor proposto. O fato da bolinha passar da raquete é que a referência é o centro dela ;-)

  vYOponente = yBolinha - yOponente - lOponente/2 -dOponenteBolinha;
  yOponente += vYOponente;

2 - Precisaríamos verificar a distância da raquete e a margem. Se distanciarmos, a bolinha entrará atrás e contabilizará diversos pontos dentro desse campo

3 - Precisaria ver teu código para saber o porque do comportamento, mas depois que criamos as funções de colisão, acaba sendo desnecessário verificar a colisão. Mas poste o link do seu projeto para que possamos dar uma olhada

4 - Outro ponto que temos que olhar, pois são comportamentos diferentes e não podemo depender um do outro

Ficaremos no aguardo, Frederico!

Um abraço