Actionscript 3 : Attacher sur la scène un movieClip de la librairie d’un swf que vous venez de charger.

Philippe Arseneault, le 1 mars 2007 à 3:44 dans Design

Ceci est le premier article que j’écris sur ma transition de l’Actionscript 2 vers l’Actionscript 3. Je devrais en écrire un chaque fois que je réussis à faire un truc qui selon moi devrait en intéresser plus d’un. Je devrais également réécrire pour parler de l’Actionscript 3 en général, de ses avantages et grands changements par rapport à l’Actionscript 2.

Mais je propose aujourd’hui de plonger directement dans le code avec ce
qui permet de charger un fichier swf externe et d’accéder à un
movieClip de sa librairie.

Premièrement, le fichier externe.
Il doit être créer dans la version alpha de Flash 9 afin de pouvoir compiler en Flash 9 avec Actionscript 3.

Il faut se créer un movieClip dans la librairie d’un nouveau document.
On nomme notre movieClip, on coche "Export for Actionscript" et on
donne un nom unique à la classe qui sera créer automatiquement au
moment de la compilation.

McLibrairie.jpg

On utilise maintenant notre imagination pour créer le contenu du
movieClip. Un gros X mauve dans mon cas (j’aime ça les X mauve).
Et finalement on compile.

Et on arrive dans notre éditeur Actionscript 3.
De mon côté je suis dans un projet Actionscript 3 de FlexBuilder 2.
Voici le code de la classe de l’application avec mes commentaires.

package {

 

import flash.display.*;
import flash.events.*;
import flash.net.*;

public class Application extends Sprite {

// On cré la variable qui va contenir le "loader" qui va charger le swf
private var _myLoader:Loader;

// Le constructeur
public function Application()
{
//On cré le "loader"
_myLoader = new Loader();

// On ajoute l’événement "Init" avec la méthode à exécuter une fois le swf chargé
_myLoader.contentLoaderInfo.addEventListener(Event.INIT, onLoadInit);

// On charge le swf
_myLoader.load(new URLRequest("myTests.swf"));
}

private function onLoadInit(p_event:Event):void
{
// On récupère le contenu de notre swf (qui est un movieClip) et on l’ajoute sur la scène
_mc = MovieClip(_myLoader.content);
addChild(_mc); importMC();

// On récupère la classe auquel notre movieClip de la librairie est associé
var myObject:Object =
_myLoader.contentLoaderInfo.applicationDomain.getDefinition("McLibrairie");

var myClip:MovieClip = MovieClip(new myObject());

// On peut lui donner quelques propriétés
myClip.x = 50;
myClip.y = 100;

// On l’ajoute sur la scène
addChild(myClip);
}
}
}

Voilà alors on a tout ce qu’il faut pour contrôler notre movieClip!
À bientôt!

Phil

Tags associés: actionscript, animation, Application, Blogue, Flash, TI, xp

Aucun commentaire »

Flux RSS des commentaires de cet article. TrackBack URI

Laisser un commentaire