Sommaire

Gérer les collisions de la balle avec les briques

Il y a au moins trois problèmes à résoudre.

Tout d’abord, la balle se met à se déplacer alors que l’animation des briques n’est pas terminée. De plus, sa position de départ n’est pas bonne, située beaucoup trop haut. Enfin, une fois le rebond du bas effectué, elle remonte et passe sous les briques, sans être affectée le moins du monde par leur présence.

1. Attendre la fin des animations des briques pour lancer la balle

L’animation de la balle et l’animation de l’affichage du mur de briques sont exécutées toutes les deux depuis la fonction init(), c’est pour cela qu’elles se déroulent simultanément.

Pour pallier cet état de fait, il faut rendre l’une dépendante de la fin de l’exécution de l’autre.

Comme précisé précédemment, la fonction animate() de la bibliothèque jQuery accepte optionnellement une fonction comme paramètre. Celle-ci est exécutée une fois l’animation terminée.

Nous allons donc suivre cette piste et demander au système de ne lancer la balle qu’une fois l’animation de la dernière brique du mur terminée.

Pour cela, on modifie le code de la fonction qui crée la balle et de celle qui affiche le mur de briques. Tout d’abord, dans la fonction init(), on retire l’appel à la méthode ...