Fichier d'animation
De WikiPlee.
Un fichier d'animation est un fichier XML décrivant un niveau d'une façon lisible par un humain, ou par l'éditeur d'animations. Les fichiers d'animation portent l'extension .anim. Un tel fichier donnera un fichier à l'extension .canim une fois compilé. Ces animations compilées peuvent être ensuite utilisées dans l'éditeur de niveaux et dans l'éditeur de modèles.
Sommaire |
[modifier] Format du fichier
Une animation est définie par une balise <animation>. Ses attributs sont
- loops='u_integer', nombre de lectures de l'animation ;
- first_index='u_integer', indice de l'image à laquelle revenir en bouclant ;
- last_index='u_integer', indice de l'image à laquelle la boucle se termine ;
- loop_back='bool', indique si l'animation est lue à l'envers en fin de boucle ;
- mirror='bool', indique si l'animation est retournée horizontalement ;
- flip='bool', indique si l'animation est retournée verticalement ;
- angle='real', rotation de l'animation ;
- opacity='real', opacité de l'animation ;
- red_intensity='real', l'intensité de la composante rouge des images ;
- green_intensity='real', l'intensité de la composante verte des images ;
- blue_intensity='real', l'intensité de la composante bleu des images ;
- width='u_integer', largeur de l'animation à l'écran ;
- height='u_integer', hauteur de l'animation à l'écran.
Les nœuds fils sont des nœeuds <frame>, ayant un attribut duration='real' indiquant la durée d'affichage de la frame, en secondes. Ces nœuds ont chacun un fils <sprite>.
[modifier] Sprite
Un sprite est défini par une balise <sprite> et ses attributs :
- image='string', le chemin de l'image à utiliser ;
- x='u_integer', abscisse du sprite dans l'image ;
- y='u_integer', ordonnée du sprite dans l'image ;
- clip_width='u_integer', largeur du sprite dans l'image ;
- clip_height='u_integer', hauteur du sprite dans l'image ;
- mirror='bool', indique si le sprite est retourné horizontalement ;
- flip='bool', indique si le sprite est retourné verticalement ;
- angle='real', rotation du sprite ;
- opacity='real', opacité du sprite ;
- red_intensity='real', l'intensité de la composante rouge du sprite ;
- green_intensity='real', l'intensité de la composante verte du sprite ;
- blue_intensity='real', l'intensité de la composante bleue du sprite ;
- width='u_integer', largeur du sprite à l'écran ;
- height='u_integer', hauteur du sprite à l'écran.
[modifier] Intensité et opacité
L'intensité et l'opacité est indiquée deux fois dans les animations. Une fois dans chaque frame et une fois pour l'animation. La valeur utilisée pour le rendu d'une frame est le produit des deux.
[modifier] Exemple
<animation loops='0' first_index='0' last_index='2' loop_back='false' width='64' height='32' mirror='false' flip='false' angle='0' opacity='0.25' red_intensity='1' green_intensity='1' blue_intensity='1'> <frame duration='0.18'> <sprite image='gfx/water.tga' x='0' y='32' clip_width='64' clip_height='32' width='64' height='32' mirror='false' flip='false' angle='0' opacity='1' red_intensity='1' green_intensity='1' blue_intensity='1'/> </frame> <frame duration='0.18'> <sprite image='gfx/water.tga' x='64' y='0' clip_width='64' clip_height='32' width='64' height='32' mirror='false' flip='false' angle='0' opacity='1' red_intensity='1' green_intensity='1' blue_intensity='1'/> </frame> <frame duration='0.18'> <sprite image='gfx/water.tga' x='64' y='32' clip_width='64' clip_height='32' width='64' height='32' mirror='false' flip='false' angle='0' opacity='1' red_intensity='1' green_intensity='1' blue_intensity='1'/> </frame> </animation>
[modifier] Fichier d'animation compilé
Le fichier d'une animation compilée présente les informations dans l'ordre ci-dessous.
nombre de frames
Suivent ensuite les frames.
durée de la frame fichier du sprite abscisse dans l'image ordonnée dans l'image largeur dans l'image hauteur dans l'image largeur à l'écran hauteur à l'écran inversion horizontale inversion verticale opacité intensité de la composante rouge intensité de la composante verte intensité de la composante bleue angle
Puis le fichier se termine par les attributs de l'animation
nombre de lectures lecture inverse indice de début de boucle indice de fin de boucle largeur à l'écran hauteur à l'écran inversion horizontale inversion verticale opacité intensité de la composante rouge intensité de la composante verte intensité de la composante bleue angle

