Ce programme charge un enseble d'animation a partir d'un fichier de configuration au format xml et d'un certain nombre d'image donnée.
#include <MLV/MLV_all.h> // // Attention ! // Pour pouvoir compiler ce programme sous windows et sous macintosh, // il faut, pour la déclaration du main, respecter strictement la syntaxe // suivante : // int main( int argc, char *argv[] ){ int touche; int width = 640, height = 480; int x_walk = 0, y = 0, x_run = 100; MLV_init_audio(); MLV_create_window( "advanced - 9 animation", "animation", width, height ); MLV_Animation_book *book; MLV_Animation_sequence *run_sequence, *walk_sequence; MLV_Animation* run_animation, *walk_animation; book = MLV_load_animation_book( "./animation_book.xml", NULL, NULL ); walk_sequence = MLV_get_animation_from_name( book, "walk" ); run_sequence = MLV_get_animation_from_name( book, "run" ); walk_animation = MLV_create_animation( walk_sequence ); run_animation = MLV_create_animation( run_sequence ); MLV_play_animation( walk_animation ); MLV_turn_off_sound_on_animation( walk_animation, 0 ); MLV_change_sound_volume_on_animation( walk_animation, 0, 0.2 ); MLV_play_animation( run_animation ); MLV_turn_off_sound_on_animation( run_animation, 0 ); MLV_change_sound_volume_on_animation( run_animation, 0, 0.2 ); MLV_change_frame_rate( 24 ); int sound = 0; while( MLV_get_event ( &touche, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) == MLV_NONE || touche != MLV_KEYBOARD_ESCAPE ){ MLV_update_animation( run_animation ); MLV_update_animation( walk_animation ); MLV_draw_filled_rectangle( 0,0, width, height, MLV_COLOR_YELLOW ); MLV_draw_text( 20,150, "Laissez la touche m appuyee pour entendre le son des animations.", MLV_COLOR_BLACK ); MLV_draw_animation( run_animation, 0, x_run, y ); MLV_draw_animation( walk_animation, 0, x_walk, y ); MLV_actualise_window(); if( touche==MLV_KEYBOARD_m ){ if( sound ){ MLV_turn_off_sound_on_animation( walk_animation, 0 ); MLV_turn_off_sound_on_animation( run_animation, 0 ); sound = 0; }else{ MLV_turn_on_sound_on_animation( walk_animation, 0 ); MLV_turn_on_sound_on_animation( run_animation, 0 ); sound = 1; } touche = MLV_NONE; } MLV_delay_according_to_frame_rate(); } MLV_stop_all_sounds(); MLV_free_animation( walk_animation ); MLV_free_animation( run_animation ); MLV_free_animation_book( book ); MLV_free_window(); MLV_free_audio(); return 0; }