Collision mur


Déclarer la variable dimg1x.

dimg1x qui correspond à la vitesse et au sens de déplacement horizontal de img1.




Nous allons déterminer un couloir de passage entre chaque pilier.

Pour cela nous devons délimiter une zone horizontale de collision (axe x du canvas), une limite verticale haute de collision et une limite verticale basse de collision (axe y du canvas).




Premier pilier

Lorsque img1 (fantôme blanc) percute le premier pilier, imgx est égale à -190.
Nous prenons donc la valeur -190 pour le début de la zone horizontale de collision.

La largeur du pilier est d'environ 60 pixels, nous allons donc prendre la valeur -250 pour la fin de la zone horizontale de collision.




Premier pilier

Lorsque img1 percute la limite verticale haute de collision, img1y est égale à 170.
Nous prenons donc la valeur 170 pour la limite verticale haute de collision.

Lorsque img1 percute la limite verticale basse de collision, img1y est égale à 225.
Nous prenons donc la valeur 225 pour la limite verticale basse de collision.





Créer la fonction collisionMur() pour déterminer les conditions de collision pour chaque pilier.

Premier pilier

if(imgx >= -250 && imgx <= -190)
Si imgx est supérieure ou égale à -250 ET imgx est inférieure ou égale à -190 (zone horizontale de collision).

Si dans le même temps
if(img1y <= 170)
img1y est inférieure ou égale à 170 (limite verticale haute de collision).

dimg1x = -4
dimg1x est égale à -4 (le fantôme blanc est projeté en arrière et il sort de l'écran).

else if(img1y >= 225)
img1y est supérieure ou égale à 225 (limite verticale basse de collision).

dimg1x = -4
dimg1x est égale à -4 (le fantôme blanc est projeté en arrière et il sort de l'écran).





Appeler la fonction collisionMur() dans la fonction jeu().

Déclarer la variable img1x dans la fonction jeu().

img1x += dimg1x
Cette déclaration de img1x permet le déplacement horizontal de img1.

Enregistrer le code dans l'editeur.
Actualiser la page du navigateur.


Retour collision

Lorsque le fantôme blanc percute un pilier ou un fantôme rouge, il est projeté en arrière et il sort de l'ecran.


Créer la fonction retourCollision(), à la suite de la fonction collisionMur().

if(img1x <= -20)
Si img1x est inférieure ou égale à -20.
Si le fantôme blanc sort de l'écran.
Le jeu redémarre au début.





Appeler la fonction retourCollision() dans la fonction jeu().

Enregistrer le code dans l'editeur.
Actualiser la page du navigateur.