Estou aberto a criticas e a sugestões de melhorias. Creio que o ideal seria eliminar o bug de forma definitiva, mas como não consegui realizar tal feito, nem implementando formas já pesquisadas ( por erro próprio mesmo muito provavelmente kk Decidi implementar uma forma de "burlar" esse bug e resolver de uma maneira um tanto mais "real" por assim dizer. Após a cada ponto , o marcador daquele ponto recebe uma espécie de saque como funciona na vida real com a bolinha vindo do centro do plano com a velocidade da bolinha reduzida em relação a velocidade original e assim que é efetuado o primeiro contato com a raquete, a velocidade original volta ao plano. Fiz 2 alterações nas funções de marcaPonto e Colisao.
OBS:(a ideia da redução de velocidade é que de um tempo de reação bom para efetuar a primeira raquetada ao jogador que pontuou.
function colisaoRaquete(x,y){
colisao = collideRectCircle(x, y, raquetecomprimento, raquetealtura, xBall, yBall, diameter);
if (colisao){
xSpeedball *= -1;
raquetadaSound.play();
}
if (colisao && ySpeedball == 1){
ySpeedball = 8;
}
}
function marcaPonto() {
if (xBall + raio > 595) {
meusPontos += 1;
ponto.play();
xBall = 300;
yBall = 200;
ySpeedball = 1;
}
if (xBall - raio < 5) {
pontosOponente += 1;
ponto.play();
xBall = 300;
yBall = 200;
ySpeedball = 1;
}
}