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.


    Embeding ou importations simplifiés (image,symbolenetc)

    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)

    Embeding ou importations simplifiés (image,symbolenetc)

    Message par artkabis le Mer 29 Juil - 6:58

    Bonjour à tous !!!

    Alors aujourd'hui je vais vous parler de la possibilité d'utiliser une balise spéciale dans vos projets AS3, cette balise se nomme Embed et elle permet d'importer différent type d'éléments et ceci sans utiliser le moindre Loader ou tout autre conteneur. Nous verrons donc dans ce tutoriel, comment il est possible de créer une bibliothèque externe et comment il est possible d'y piocher des éléments pour ensuite les utiliser dans une interface principale. Le but étant d'optimiser l'importation tout en gardant le côté interactif sur nos éléments importés.


    Pour l'occasion, j'ai développé une petite classe qui charge, met en place et initialise des symboles chargés depuis une bibliothèque externe. Si vous souhaitez l'utiliser, vous devrez simplement créer une bibliothèque contenant vos éléments ayant étaient au par avant exportés pour actionscript (donnez un nom de classe similaire à la classe utilisée dans le fichier Embeding.as).

    Pour finir, il vous suffit de créer un fichier fla qui servira d'interface principale et qui se chargera d'accueillir l'ensemble des éléments gérer depuis cette dernière classe, vous devez donc coller ce code à la frame 1 de votre fichier fla:
    Code:

    import Embeding;

    var em:Embeding = new Embeding();
    addChild(em);

    Pour ceux qui voudraient avoir accès au code de la classe Embeding, la voici:
    Code:

       /***************************************************************************************************** 
       * Embeding (AS3), version 1.1                                                                        *
       *                                                                                                    *
       *                                                                                                    *
       *                                                                                                    *
       * <pre>                                                                                              *
       *  ____              _        _      ____                                                          *
       * |  __| _____  ____| |_      | | __ |__  |                                                          *
       * | |  |  _  ||  _||  _| __  | |/ /    | |                                                          *
       * | |  | |_| || |  | |  |__| |  <    | |                                                          *
       * | |__ |_| |_||_|  |_|      |_|\_\  __| |                                                          *
       * |____|                            |____|                                                          *
       *                                                                                                    *
       * </pre>                                                                                            *
       *                                                                                                    *
       * @class    :  Embeding                                                                            *
       * @author  :  Greg.N :: Artkabis                                                                  *
       * @version  :  1.8 - class Embeding (AS3)                                                          *
       * @since    :  29-07-2009 08:21                                                                    *
       *                                                                                                    *
       *****************************************************************************************************/

    package
    {   
       import flash.display.Sprite;
       import flash.display.MovieClip;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
       
       import flash.events.Event;
       import flash.events.MouseEvent;
       
       import flash.filters.DropShadowFilter;
       import fl.transitions.easing.Bounce;
       import fl.transitions.Tween;
       
       public class Embeding extends Sprite
       {
          //=======================EMBEDING=======================
          [Embed(source="bibliotheque.swf", symbol="Bg")]
            private var Bg                                    :Class;
          [Embed(source="bibliotheque.swf", symbol="Croix")]
            private var Croix                                  :Class;
            [Embed(source="bibliotheque.swf", symbol="Rond")]
            private var Rond                                  :Class;
            [Embed(source="bibliotheque.swf", symbol="Triangle")]
            private var Triangle                              :Class;
            [Embed(source="bibliotheque.swf", symbol="Carre")]
            private var Carre                                  :Class;

          //======================INSTANCIATION======================
          private var ombre                        :DropShadowFilter;
          private var cont                        :MovieClip;
          private var numC                        :int;
          
          private var rond              :Sprite;
          private var carre              :Sprite;
          private var triangle          :Sprite;
          private var bg                :Sprite;
          private var croix              :Sprite;
          
          private var tw1        :Tween;
          private var tw2        :Tween;
          private var tw2_1      :Tween;
          private var tw3        :Tween;
          private var tw3_1      :Tween;
          private var tw4        :Tween;
          private var tw5        :Tween;
          
          //==================================================================================================
          public function Embeding(){init();}
          //==================================================================================================
          
          //==================================================================================================
          private function init():void
          //==================================================================================================
          {
             //=====Params-ombre======
             var distance    = 5;
             var angle        = 45;
             var color        = 0x000000;
             var alpha        = 1;
             var blurX        = 15;
             var blurY        = 15;
             var strength    = 1.5;
             var quality      = 3;
             var inner        = false;
             var hideObject  = false;
             var knockout    = false;
             
             ombre            = new DropShadowFilter(distance,angle,color,alpha,blurX,blurY,strength,quality,inner,hideObject,knockout);
             cont            = new MovieClip ();
             cont.name        = 'cont';
             
             bg              = new Bg();
             bg.name          = 'bg';
             bg.x            = 000;
             bg.y            = 000;
             this.addChild    (bg);
             
             carre            = new Carre();
             carre.name      = 'carre';
             carre.x          = 100;
             carre.y          = 100;
             cont.addChild    (carre);
             
             rond            = new Rond();
             rond.name        = 'rond';
             rond.x          = 210;
             rond.y          = 100;
             cont.addChild    (rond);
             
             triangle        = new Triangle();
             triangle.name    = 'triangle';
             triangle.x      = 310;
             triangle.y      = 100;
             cont.addChild    (triangle);
             
             croix            = new Croix();
             croix.name      = 'croix';
             croix.x          = 410;
             croix.y          = 100;
             cont.addChild    (croix);
             
             cont.filters    = [ombre];
             this.addChild      (cont);
             
             //=================ECOUTEURS=================
             this.addEventListener( 'mouseOver',$actions );
             this.addEventListener( 'mouseOut',$actions );
             this.addEventListener( 'mouseDown',$actions );
             //============================================
          }
          
          //==================================================================================================
          private function $actions(me:MouseEvent):void
          //==================================================================================================
          {
             var targ =  (me.target as MovieClip);
             
             switch( me.type )
             {
                case MouseEvent.MOUSE_OVER:
                numC = me.target.parent.numChildren-1;
                switch (me.target.name)
                {
                   case 'croix':
                   tw1 = new Tween(me.target,'rotationZ',Bounce.easeOut,0,180,.8,true);
                   break;
                   case 'carre':
                   tw2 = new Tween(me.target,'scaleY',Bounce.easeOut,1,1.2,.8,true);
                   tw2_1 = new Tween(me.target,'scaleX',Bounce.easeOut,1,1.2,.8,true);
                   cont.setChildIndex(carre,numC);
                   break;
                   case 'rond':
                   tw3 = new Tween(me.target,'scaleY',Bounce.easeOut,1,1.2,.8,true);
                   tw3_1 = new Tween(me.target,'scaleX',Bounce.easeOut,1,1.2,.8,true);
                   cont.setChildIndex(rond,numC);
                   break;
                   case 'triangle':
                   tw4 = new Tween(me.target,'alpha',Bounce.easeOut,1,.3,.8,true);
                   break;
                   case 'bg':
                   tw5 = new Tween(me.target,'alpha',Bounce.easeOut,1,.8,.5,true);
                   break;
                }
                break;
                
                case MouseEvent.MOUSE_OUT:
                switch (me.target.name)
                {
                   case 'croix':
                   tw1.yoyo();
                   break;
                   case 'carre':
                   tw2.yoyo();
                   tw2_1.yoyo();
                   break;
                   case 'rond':
                   tw3.yoyo();
                   tw3_1.yoyo();
                   break;
                   case 'triangle':
                   tw4.yoyo();
                   break;
                   case 'bg':
                   tw5.yoyo();
                   break;
                }//○○○-__END OF SWITCH TARGET
             }//○○○-__END OF SWITCH TYPE
          }//○○○-__END OF FUNCTION
       }//○○○-__END OF CLASS
    }//○○○-__END OF PACKAGE

    Voici l'application finalisé:


    Le tutoriel:


    Les fichier sources*


    *Utilisez Winzip pour la décompression de la source


    Dernière édition par artkabis le Lun 2 Nov - 0:10, édité 1 fois

    Darkaagan
    Nouveau membre
    Nouveau membre

    Messages : : 9
    Age : : 26
    Logiciels : Logiciels : : Quelles logiciel utilisez vous?

    J'utilise flash, dreamweaver, et photoshop
    Date d'inscription : 16/07/2009

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par Darkaagan le Jeu 30 Juil - 15:33

    waaaaaaouh merci pour ce tuto,
    vraiment bien fais mais j'ai rien compris^^

    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)

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par artkabis le Jeu 30 Juil - 15:53

    Pas de quoi, c'est vrai que cette technique reste simple tout en restant puissante, en tout cas je suis content de voir que tu l'apprécies.


    _________________
    J'me fais de la pub et na tongue

    mathieu020
    Nouveau membre
    Nouveau membre

    Messages : : 4
    Age : : 29
    Logiciels : Logiciels : : Quelles logiciel utilisez vous?
    Date d'inscription : 09/09/2009

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par mathieu020 le Jeu 10 Sep - 13:15

    je prends, je prends, j'ai déjà une idée de ce que je vais faire avec, un beau menu en flash...

    Kasparov
    Nouveau membre
    Nouveau membre

    Messages : : 3
    Age : : 45
    Logiciels : Logiciels : : Quelles logiciel utilisez vous? J'utilise photoshop CS4
    Date d'inscription : 28/06/2010

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par Kasparov le Mer 30 Juin - 19:17

    Salut,

    Je suis nouveau et a peine arrivé j'ai déjà trouver un tuto qui va bien me servir.

    Merci

    raj_kapoor
    Nouveau membre
    Nouveau membre

    Messages : : 25
    Age : : 33
    Logiciels : Logiciels : : Quels logiciels utilisez-vous ? Un tas!
    Date d'inscription : 15/01/2012

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par raj_kapoor le Ven 2 Mar - 15:46

    Slt à tous!

    Quelques question sur ce fameux embed! Puis je importer des mc ou sprites qui font appel à des classes en fichiers .as?
    je prends la 1ère ligne code du tuto.

    [Embed(source="bibliotheque.swf", symbol="Bg")]
    private var Bg :Class;


    Imaginons que si cet élèment "Bg" fait réference à "Bg.as3", la classe sera elle aussi importé? Fonctionnera t'elle sans soucis?

    Est ce bien plus pratique, rapide qu'avec un loader? Qu'est t'il affiché en attendant, si un élément est lourd(donc pas fini de charger)?
    Ce moyen permet t'il d'afficher une barre de chargement?

    dsl de bombarder de questions mais je n'ai trouvé de réponses nulle part...

    Merci





    raj_kapoor
    Nouveau membre
    Nouveau membre

    Messages : : 25
    Age : : 33
    Logiciels : Logiciels : : Quels logiciels utilisez-vous ? Un tas!
    Date d'inscription : 15/01/2012

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par raj_kapoor le Lun 5 Mar - 16:03

    Quelqu'un a la réponse qui pourrait méclairer? Bon c'est juste histoire d'approfondir mes connaissances dans l'As3, même si je ne pense pas (devoir) utiliser cette méthode un jour...

    gingebean
    Modérateur

    Messages : : 1901
    Age : : 36
    Logiciels : Logiciels : : Quelles logiciel utilisez vous? photoshop illustrator,SWIFT 3D,dreamweaver
    Date d'inscription : 23/03/2009

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

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par gingebean le Lun 5 Mar - 21:56

    desolee Raj je utilise jamais ce méthode , si j'ai le temps je vais essayer de faire quel que tests

    GB


    _________________

    Pensez à votre forum favori, un petit vote au WEBORAMA, quelques minutes et ca fait progresser le forum en réputation

    raj_kapoor
    Nouveau membre
    Nouveau membre

    Messages : : 25
    Age : : 33
    Logiciels : Logiciels : : Quels logiciels utilisez-vous ? Un tas!
    Date d'inscription : 15/01/2012

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par raj_kapoor le Mar 6 Mar - 2:11

    ok no prob

    Contenu sponsorisé

    Re: Embeding ou importations simplifiés (image,symbolenetc)

    Message par Contenu sponsorisé Aujourd'hui à 12:11


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