Manuel §2.24.17    

Fonction Animate

La fonction Animate permet d'animer l'apparence d'un sprite, c'est à dire que périodiquement on va changer l'image qui le représente et ce sans autre programmation que l'appel de cette fonction.

Animate( sprite, premiere, derniere, periode[, depart])

La fonction attend un identificateur de sprite, un numéro de première image (incluse), un numéro de dernière image(exclus), une période de changement d'image en milli-seconde et optionnellement un top de départ pour l'animation.

L'objet Sprite va automatiquement afficher le sprite avec chacune des images comprises entre la première et la dernière en les changeant toutes les "période fois" milli-secondes. Le top départ permet de synchroniser les images entre sprites, pour cela on choisit l'instant de départ (par défaut la valeur 0), si par contre on veut montrer une évolution propre et indépendante de chaque sprite ( pour l'ouverture d'une porte par exemple) on passera en paramètre une valeur spécifique (le résultat de la fonction GetTickCount() par exemple), enfin si on désire n'afficher qu'une seule fois le cycle d'image on transmet la valeur -1 comme top départ.

Par exemple on veut afficher une pompe qui tourne avec six images:

Sprites.Animate( Pompe, ImgPompe, ImgPompe+6, 100);

Pour montrer l'ouverture d'une porte et sa fermeture on peut faire:

// Ouverture de la prote
Sprites.Animate( Porte, ImgPorte, ImgPorte+4, 100, -1);
Fin = GetTickCount()+400; // Il faut 400ms pour afficher  l'ouverture
While GetTickCount() < Fin do Wait;
// Fermeture de la porte
Sprites.Animate( Porte, ImgPorte+3, ImgPorte-1, 100, -1);