Pour tes collisions j'ai l'impression que tu as un souci pour savoir de quel côté la balle percute les joueurs, je me trompe ?
J'ai déjà fait un truc similaire et une fois j'ai eu le même souci.
J'ai fini par mesurer la distance entre la balle et chacun des côtés du rectangle. La plus petite distance correspondait au côté qui collisionne.