ANIMATION DAUPHINS
Le but de cet article est de montrer comment jouer une série d'images à l'emplacement du pointeur de la souris lorsque l'utilisateur clique. Pour cela nous allons utiliser les concepts de liste globale, comportement et envoi de message vers une image-objet.
Premièrement il nous faut une série d'images formant une animation complète. Pour créer un effet joli, la première et la dernière image de la suite doivent être vides. Ci-dessous, une animation en 31 images d'un dauphin une fois importée dans la distribution.
|
La programmation Lingo est relativement simple, en tout et pour tout il faut créer trois scripts :
Voici le détail des trois scripts :
on startmovie
end |
|
on exitFrame
end |
|
-- Comportement pour gérer une image-objet animée global free_sprites property mysp, mymax, mycurrent, myletter, mystart on beginsprite me
end
on exitframe me
end
on start me, newloc
end |
Finalement, il faut placer les images-objets sur la scène, prendre soin de mettre l'acteur du début de la série (d0) afin qu'il ne soit pas visible (image vide). Ensuite choisir l'encre fond transparent, puis affecter le script de comportement à cette image-objet. Copier-coller l'image-objet plusieurs fois, le nombre d'images-objets devrait être le nombre d'images de l'animation + 1 (ex. d0 .... d30 --> 32 images-objets) afin qu'il n'y ait pas de décalage et qu'il y ait toujours une image-objet libre dans la liste free_sprites. |
Ci-contre, le résultat sous forme d'animation Shockwave. Clique dessus pour voir bondir les dauphins. |
En conclusion, il est souhaitable de transformer le script de comportement afin de pouvoir le réutiliser facilement. Pour cela, les variables mymax et myletter doivent être configurables en les mettant dans une fonction on getpropertydescriptionlist au début du script. Il est alors possible de gérer plusieurs animations en utilisant plusieurs listes globales.
Le fichier Director compressé (.ZIP 20ko) est ici.
Si tu rencontres un problème lors de l'implémentation ou bien si tu as fais quelque chose de vraiment cool avec cette technique, je suis joignable ici.