Documentation de la bibliothèque MLV-2.0.2

typedef struct _MLV_Animation_player MLV_Animation_player

Ce type code un lecteur d'animation.

Un lecteur d'animation est une structure qui permet d'animer une animation. Cette structure contient :

  • un pointeur vers une animation
  • la position de l'image courante de l'animation
  • une horloge interne ( dont le temps est discret et indépendant du temps courant )

L'aiguille de l'horologe interne d'une animation avance d'une unité à chaque appel de la fonction MLV_update_animation_player(). Les animations sont alors jouée en fonction de l'évolution du temps de chaque animateur. Ainsi, deux lecteurs différents peuvent avoir une courbe du temps différente.

La bonne façon d'utiliser des lecteurs est de mettre a jour tous les lecteurs en même temps à un intervalle de temps régulier. Pour cela vous pouvez utiliser la fonction framerate qui endort le programme de façon a assurer l'execution d'un tour de boucle à une fréquence donnée

Voici un exemple d'utilisation du lecteur :

1 MLV_Image* creature1 = MLV_load_image("creature1.png");
2 MLV_Image* creature2 = MLV_load_image("creature2.png");
3 int time_per_image = 1;
4 
5 MLV_Animation* animation;
6 animation = MLV_create_animation( 2 );
7 MLV_change_frame_in_animation( creature1, time_per_image, animation, 0 );
8 MLV_change_frame_in_animation( creature2, time_per_image, animation, 0 );
9 
10 MLV_Animation_player* animation_player;
11 animation_player = MLV_create_animation_player( animation );
12 
13 int frequence = 24; // nombre d'images par secondes
14 MLV_change_frame_rate( frequence );
15 while( 1 ){
16  MLV_update_animation_player( animation_player );
17  MLV_draw_image_from_animation_player(0, 0, 0, animation_player);
18  MLV_frame_rate_delay();
19 }