Bref, pendant la conférence de Grant Skinner, je suis tombé sur un truc super con mais que je connaissais pas étant donné que je ne code pas en AS2 depuis super longtemps. Donc si vous connaissez le truc vous pouvez rire à gorge déployée, pour les autres les inconditionnels de l'AS1 qui comme moi sont passés à l'AS2 avec Flash 8, voila un ptit truc interessant pour limiter le code Goret:

la méthode onLoad de MovieClip qui ne pouvait etre définie en AS1 le peut en AS2 et son gros avantage c'est qu'elle se déclenche après toutes les instanciations de tous les clips sur l'image ou le clip est chargé et après l'execution de code eventuellement posé sur la première image. Ce qui permet entre autre de définir une méthode d'initialisation propre pour une classe comprenant un certains nombre d'éléments imbriqués comme des composants Macromedia par exemple. En image:

 class B extends MovieClip {
     function B () {
          trace ("instanciation B");
     }
     function onLoad () {
          trace ("onLoad B");
     }
 }
 class A extends MovieClip {
     function A () {
          trace ("instanciation A");
     }
     function onLoad () {
          trace ("onLoad A");
     }
 }

Sur l'image 1 du symbole associé à la classe B: trace ("frame B");
Sur l'image 1 du symbole associé à la classe A: trace ("frame A");

Le clip A est contenu dans le clip B, mais il pourrait tout aussi bien ne pas l'être:

Fenêtre de sortie:

  • instanciation B
  • instanciation A
  • frame B
  • frame A
  • onLoad B
  • onLoad A

fini les setInterval goret ou les onEnterFrame=init / delete onEnterFrame

Ps: En ajoutant un getTimer pour évaluer le moment ou les instructions sont executées, on constate que tout est bien executé dans la même milliseconde et donc dans la meme image.