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:
Pour ceux qui voudraient avoir accès au code de la classe Embeding, la voici:
Voici l'application finalisé:
Le tutoriel:
Les fichier sources*
*Utilisez Winzip pour la décompression de la source
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