11-05-2016, 10:48 PM
Bon, je vous rassure: j'étais rentré chez moi (plusieurs foi) depuis mon post d'il y a 2 jours... J'avais juste oublié de déployer mon Test&Tries:
Bouncing Ball
Je n'ai pas réussi à retrouver un cas limite, mais on voit, sur certaines frames, que la balle a traversé le mur. Quand la balle traverse le mur sur une frame F, si jamais elle ne revient pas sur le terrain à la frame suivante F+1 (à cause des arrondis internes des double/float ou du calcul de atan2, bref, à cause du epsilon machine) alors la vitesse de la balle sera ré-inversée, et elle retournera traverser les murs (encore plus loin que la 1ere fois). De fil en aiguille, la balle se tire de la zone de jeu.
La checkbox "fix bounce calculation" va re-calculer la vitesse de la balle après les "if" de tes rebonds, ce qui lui évitera de traverser les murs.
On peut quand même avoir un autre cas limite: si la vitesse de la balle dépasse la taille de la zone de jeu.
Bouncing Ball
Je n'ai pas réussi à retrouver un cas limite, mais on voit, sur certaines frames, que la balle a traversé le mur. Quand la balle traverse le mur sur une frame F, si jamais elle ne revient pas sur le terrain à la frame suivante F+1 (à cause des arrondis internes des double/float ou du calcul de atan2, bref, à cause du epsilon machine) alors la vitesse de la balle sera ré-inversée, et elle retournera traverser les murs (encore plus loin que la 1ere fois). De fil en aiguille, la balle se tire de la zone de jeu.
La checkbox "fix bounce calculation" va re-calculer la vitesse de la balle après les "if" de tes rebonds, ce qui lui évitera de traverser les murs.
On peut quand même avoir un autre cas limite: si la vitesse de la balle dépasse la taille de la zone de jeu.