Comment modifier la vitesse de l’animation d’un sprite sur Game Maker Studio ?

Salut et bienvenue dans ce tutoriel en Français sur Game Maker Studio. Aujourd’hui, nous allons voir comment arrêter, ralentir, stopper ou encore accélérer l’animation d’un sprite (vous savez, ces petites images qui représentent les personnages, objets et décors de votre jeu).

Lorsqu’on utilise des assets dans notre jeu, il est possible de les animer pour leur donner vie. Cependant, il peut arriver qu’on souhaite arrêter cette animation à un moment précis. Pour cela, on peut utiliser la variable image_speed.

image_speed qu’est-ce que c’est ?

image_speed, comme son nom l’indique, permet de contrôler la vitesse d’animation des images d’un sprite. Cette variable est ce que GMS appelle une « built-in variable » c’est-à-dire qu’elle est définie automatiquement par GameMaker Studio dans chaque sprite que l’on va créer. D’ailleurs, il est possible de repérer ce type de variable car leur nom est écrit en vert par défaut dans notre IDE.

Cette variable va agir comme un multiplicateur du nombre d’image par seconde (FPS) de notre sprite et sa valeur par défaut est 1. Si la vitesse de votre sprite est de 10FPS et qu’image_speed vaut 2 alors l’animation se joue à la vitesse suivante : 10FPS * 2 = 20FPS. De cette façon, votre asset va être animé deux fois plus vite.

// Pour modifier la vitesse d'une animation
image_speed = 1;   // par défaut (100%)
image_speed = 2;   // 2x plus vite (200%)
image_speed = .5;  // 2x moins vite (50%)
image_speed = -3;  // sens inversé et 3x plus vite  (-300%)

Si vous souhaitez voir le processus en entier, voici la vidéo tuto en Français que j’ai créé pour l’occasion.

Pour aller plus loin avec les animations

Si on souhaite arrêter l’animation de manière plus progressive, on peut utiliser cette ligne dans votre Step event : image_speed -= delta. Cela réduit la vitesse de l’animation de delta à chaque fois qu’on passe dans le step event, ce qui permet une transition plus douce vers l’arrêt complet, quand image_speed est égale à 0.

De la même façon, si l’on souhaite lancer l’animation seulement quand notre personnage se déplace il faut écrire :

// Step event
// la variable state contient l'état de notre personnage

if(state == "run") {
    image_speed = 1;
} else {
    image_speed = 0,
}

Conclusion

Et voilà ! Maintenant, vous savez comment arrêter l’animation d’un sprite dans Game Maker Studio. Cette astuce peut être utile dans de nombreuses situations, alors n’hésitez pas à l’utiliser dans votre prochain projet. Merci d’avoir lu ce tutoriel et à bientôt pour plus d’astuces Game Maker Studio !


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *