Guide Expert Traffic Screensaver :
Le fichier Matériel Roulant
Les animations "Portes" 
Il existe deux moyens de créer des animations d'ouverture de portes pour les dessins de matériel.
- En dessinant totalement l'animation (animation DOOR).
- En ne dessinant que ce que l'on voit quand la porte est ouverte (commandes DID ou DOD).
Détaillons les deux méthodes en prenant l'exemple de la VB2N SNCF en livrée d'origine (VB2N_O1_B_L) :

Première méthode : dessin de l'animation
Le dessin d'animation correspondant s'appelle D_VB2N :

Il est constitué d'une suite de dessins plus petits constituant chacun une phase de l'animation. C'est en dessinant successivement tous ces petits dessins à l'emplacement choisi que l'on aura l'impression d'une ouverture et d'une fermeture progressive. La séquence est symétrique : elle doit servir dans les deux sens en inversant seulement l'ordre de passage des dessins.
L'animation se définit alors en créant une macro dans l'éditeur de macro (double clic sur la VB2N). On utilise la commande A (animation) avec l'animation DOOR.
Voici la macro pour animer la porte de gauche :
VB2N_O1_B_L[A:DOOR,D_VB2N_O1,12,6,39,23,0,0,20,9,40,0]
La syntaxe de cette macro est la suivante :
[A:DOOR,<dess_anim>,<x_anim>,<y_anim>,<larg_anim>,<haut_anim>,<x0>,<y0>,<délai>,<nb_phases>,<dx>,<dy>]
Avec :
- <dess_anim> est le nom du dessin d'animation à utiliser (ici D_VB2N). A noter qu'un # devant le nom du dessin affiche celui-ci en miroir.
- <x_anim> est la position horizontale du dessin du véhicule à partir de laquelle de l'animation s'affichera (ici 12).
- <y_anim> est la position verticale du dessin du véhicule à à partir de laquelle l'animation s'affichera (ici 6).
- <larg_anim> est la largeur d'une phase de l'animation (ici 39).
- <haut_anim> est la hauteur des phases de l'animation (ici 23).
- <x0> est la position horizontale du premier dessin de phase dans le dessin d'animation (ici 0, c'est le cas général).
- <y0> est la position verticale du premier dessin de phase dans le dessin d'animation (ici 0, c'est le cas général).
- <délai> est le délai entre l'affichage de 2 phases en millisecondes (ici 20).
- <nb_phases> est le nombre de phases de l'animation (ici 9).
- <dx> est la distance horizontale entre deux dessins de phases dans le dessin d'animation (ici 40, soit la largeur de la phase + 1 pixel). Cette valeur est supérieure à la largeur de la phase quand les dessins de phase sont séparés visuellement dans le dessin d'animation : ici, une bande verticale verte de 1 pixel entre chaque dessin de phase).
- <dy> est la distance horizontale entre deux dessins de phases dans le dessin d'animation (ici 0, c'est le cas général).
Voici le résultat dans la fenêtre de l'éditeur de macro :

Si l'on veut animer les deux portes, il faut modifier la macro de la façon suivante :
VB2N_O1_B_L[A:DOOR,D_VB2N_O1,12,6,39,23,0,0,20,9,40,0][A:DOOR,D_VB2N_O1,189,6,39,23,0,0,20,9,40,0]
On a ajouté une deuxième animation Portes, dont la seule différence avec la première est une valeur différente pour <x_anim> : l'animation de la porte de gauche commence au pixel 12, celle de la porte de droite commence au pixel 189. Ce qui donne :

On peut constater que c'est très verbeux. Il y a beaucoup de redondances.
Voici un moyen plus pratique de gérer ces animations : il faut définir tous les paramétres directement dans le dessin de l'animation.

Une macro a été associée au fichier d'animation, elle reprend tous les paramètres qui seront constants à chaque utilisation de cette animation :
[DOOR:<larg_anim>,<haut_anim>,<x0>,<y0>,<délai>,<nb_phases>,<dx>,<dy>]
soit ici [DOOR:39,23,0,0,20,9,40]
Les paramètres gardent la même signification que ci-dessus. A noter que le paramètre <dy> a été omis pour simplifier l'écriture (comme 0 est la valeur par défaut, il n'est pas nécessaire de le faire figurer).
Pour définir notre animation avec deux portes ouvrantes, nous pouvons maintenant créer une macro plus concise pour le fichier dessin de la VB2N :
VB2N_B[A:DOOR,D_VB2N_O1_L,12,6][A:DOOR,D_VB2N,189,6]
C'est quand même mieux ! Et voilà le résultat dans l'éditeur de macro pour le fichier dessin de la VB2N :

Remarque importante : avec cette première méthode, les parties du dessin d'origine situées "sous" les parties à animer ne seront jamais visibles. Il y aura toujours une phase de l'animation affichée à la place. On pourrait ainsi laisser noire la région des portes dans notre dessin VB2N, sans changer le résultat.
Deuxième méthode : laisser faire Traffic
Cette méthode consiste à dessiner l'image correspondant à ce que découvre la porte ouverte et à laisser Traffic gérer totalement l'animation.
Il existe 6 commandes pour effectuer ces animations. Elles permettent de gérer les portes simples ou doubles, intérieures ou extérieures.
- [DID] : portes doubles qui s'ouvrent à l'interieur de la caisse.
- [DIL] : portes ouvrant vers la gauche, à l'interieur de la caisse.
- [DIR] : portes ouvrant vers la droite, à l'interieur de la caisse.
- [DOD] : portes doubles qui s'ouvrent à l'extérieur de la caisse.
- [DOL] : portes ouvrant vers la gauche, à l'extérieur de la caisse.
- [DOR] : portes ouvrant vers la droite, à l'extérieur de la caisse.
Par exemple, pour notre VB2N, la commande appropriée serait [DOD].
Voici la syntaxe à utiliser. Elle est la même pour les 5 autres commandes.
[DOD:<fond>,<x_anim>,<y_anim>,<larg_anim>,<haut_anim>,<délai>,<nb_phases>]
Avec :
- <fond> indique ce qui sera affiché dans le vide laissé par la porte ouverte : soit le nom du dessin à utiliser, soit la valeur hexadécimale d'une couleur de remplissage. La valeur de la couleur doit être précédée de # (exemple : #FFFFFF pour le blanc). A noter qu'il faut ici un double dièse (##) devant le nom du dessin pour afficher celui-ci en miroir.
- <x_anim> est la position horizontale du dessin du véhicule à partir de laquelle la porte ouverte laissera un vide.
- <y_anim> est la position verticale du dessin du véhicule à à partir de laquelle la porte ouverte laissera un vide.
- <larg_anim> est la largeur du vide laissé par la porte ouverte.
- <haut_anim> est la hauteur du vide laissé par la porte ouverte.
- <délai> est le délai entre l'affichage de 2 phases en millisecondes.
- <nb_phases> est le nombre de phases de l'animation.
Exemple pour notre VB2N : voici le fichier du dessin destiné à combler le vide (nommé DOD_VB2N) :

et le résultat dans l'éditeur de macro :

On peut noter que les valeurs de de tous les paramètres sont différentes de celles utilisées avec [A:DOOR].
L'avantage de cette méthode est qu'elle est plus rapide. Elle évite la fastidieuse tâche de dessiner les phases "image par image". En revanche, elle offre un résultat plus basique. Regardez la différence : elle est dans ce qu'on voit derrière les vitres de la porte quand elle est ouverte. Avec [A:DOOR] la vitre laisse paraitre les couleurs de la caisse (grâce aux efforts du dessinateur), tandis qu'avec [DOD], la vitre est forcément totalement opaque. A chacun de voir si le jeu en vaut la chandelle.
Pour terminer, juste un exemple pour illustrer le [DID] :

On voit bien que les portes coulissent cette fois à l'interieur de la caisse.
Les animations "Pantographes" 
A suivre...