Je ne pense pas que le calendrier des scripts d'image est vraiment au cœur de votre question. Dans le cas de vos extraits de code ci-dessus, vous entrez dans une question de classe par rapport à instance. Regardons cette ligne:
this["myCustomVar"] = "bla";
Là, vous avez défini une nouvelle variable appelée myCustomVar
dans l'instance de scénario racine. Une instance est une seule chose qui existe individuellement et peut être personnalisée. Toutefois, la personnalisation d'une instance ne modifie PAS la classe qui l'a définie à l'origine. Pensez à une fabrique de widgets: si vous prenez un widget fini à la fin de la ligne d'assemblage et que vous le peignez en rouge, cela ne signifie pas que l'usine produira désormais des widgets rouges ... vous venez de modifier une instance de widget La fin de la ligne. Pour que votre usine produise des widgets rouges, vous devez modifier l'usine elle-même - ou la définition de classe. Donc, je suppose que vous avez une classe personnalisée écrite pour MyMovieClip
? Sinon, vous auriez besoin de le faire dans MyMovieClip.as
:
package
{
import flash.display.MovieClip;
public class MyMovieClip extends MovieClip
{
public var myCustomVar:String = "";
public function MyMovieClip():void {
super();
}
}
}
Une fois que vous avez modifié la définition de classe de l'objet d'inclure votre variable personnalisée, puis seront construits tous les nouveaux cas de cette catégorie à cette variable. J'espère que cela pourra aider.
Hmm, êtes-vous sûr de # 2? Je sais pertinemment que les enfants sont instanciés immédiatement après l'instanciation du parent, et les constructeurs devraient être appelés à ce moment-là (ou ils ne seraient pas des constructeurs). Quoi qu'il en soit, j'ai besoin de créer le clip, en extraire quelques trucs et ensuite le détruire, donc je suppose que je vais devoir mettre le code init dans les constructeurs. –
chose sûre, mais les enfants sont instanciés dans le cadre de la partie initialisation du parent MovieClip, donc dans le même "événement", plutôt que lorsque le cadre rend ou les actions de frame movieclip sont appelés etc – longstaff
Ouais, mais l'initialisation de movieclips ne se produit pas à un point précis de la boucle de trame, il arrive juste quand vous les construisez (j'ai testé cela maintenant et j'ai mis mon code à travailler en le mettant dans le constructeur) –