Artkabis

Salut !!!
Si vous êtes membre du forum, vous pouvez vous connecter.
Au cas contraire vous avez la possibilité de créer gratuitement un compte...

Forum d'entraide en graphisme et webdesign. Formation pour Flash, Photoshop et les langages: as2, as3, html, php, javascript, etc.


    Charger les clips d'une librairie partagé (AS3)

    Partagez

    artkabis
    Fondateur
    Fondateur

    Messages : : 4545
    Age : : 32
    Logiciels : Logiciels : : Photoshop CS4, Flash CS4, Indesign CS4, After Effects CS4, Illustrator CS4, Premier Pro CS4, Encore CS4, Flexbuilder 3, Papervision 3D, Camtasia, Captivate, InDesign, Swift 3d, Illustrator, Dreamweaver CS3, Blender, Swift 3D, WampServer.
    Date d'inscription : 11/09/2008

    Capacités en graphisme
    Capacité graph:
    9/10  (9/10)

    Charger les clips d'une librairie partagé (AS3)

    Message par artkabis le Dim 14 Déc - 20:27

    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:
    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:

      La date/heure actuelle est Mar 6 Déc - 12:08