Bonjour à tous, aujourd'hui j'ai décidé de vous parler des librairies partagées en as3. Cette méthode est souvent utilisée par les développeurs professionnels, pour pouvoir modifier facilement un projet, sans pour autant toucher à l'application principale. Pour résumer une librairie partagée, permet tout simplement d'accueillir les clips qui devront être utilisés dans une application. Pour les utiliser depuis un autre fichier swf, il suffit de les charger, intéressant non?
Imaginez que vous devez créer une application assez complexe pour entreprise, celle-ci vous demande de mettre à jour le projet régulièrement. Dans ce cas l'utilisation d'une librairie externe vous feras gagner un temps considérable. Pour mieux comprendre ce concept voici un tutoriel, qui je l'espère seras plus explicite que mes mots:
Fichiers sources:librairiePartage.zip
Le code:
////////////////////////////////////Charger une librairie partagé

var loader:Loader = new Loader();

var url:String = "loaded.swf";

var requete:URLRequest = new URLRequest(url);

 loader.load(requete); addChild(loader);

 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, gestionComplet); //fonction principale

function gestionComplet(event:Event):void {

   var domain:ApplicationDomain = loader.contentLoaderInfo.applicationDomain;

 var Triangl:Class = domain.getDefinition("Triangl") as Class;

 var Rectangl:Class = domain.getDefinition("Rectangl") as Class;

 var Rond:Class = domain.getDefinition("Rond") as Class; var Bg:Class = domain.getDefinition("Bg") as Class;

 var Poly:Class = domain.getDefinition("Poly") as Class; //affichage des élements en sortie

trace(domain.getDefinition("Bg")); trace(domain.getDefinition("Rond")); trace(domain.getDefinition("Rectangl")); trace(domain.getDefinition("Poly"));

trace(domain.getDefinition("Triangl")); //Création des clips lié a la classe externe

 var monBg = new Bg();

 var monRect = new Rectangl();

 var monTriangl = new Triangl();

 var monRond = new Rond();

 var monPoly = new Poly(); //Affichage de tout les élements chargés addChild(monBg);

addChild(monRect);

addChild(monTriangl);

addChild(monRond);

addChild (monPoly);

//Positionnement des éléments

monRect.x = stage.stageWidth /2; monRond.x = stage.stageWidth /2; monRond.y=200; monRect.y=monRect.height/2; monBg.x=0; monBg.y=0; monPoly.x= 450; monPoly.y=stage.stageHeight - monPoly.height /2; monPoly.width += 20;

}

Le tutoriel: