// V1.0 // ================================================================================ // IMPORT import mx.transitions.*; import mx.transitions.easing.Strong; import mx.transitions.easing.None; // ================================================================================ // Liste de transitions var FADE = {type:Fade, direction:Transition.IN, duration:1, easing:None.easeNone}; var SQUARE = {type:Iris, direction:Transition.IN, duration:1, easing:None.easeNone, startPoint:5, shape:Iris.SQUARE}; var CIRCLE = {type:Iris, direction:Transition.IN, duration:1, easing:None.easeNone, startPoint:5, shape:Iris.CIRCLE}; var PHOTO = {type:Photo, direction:Transition.IN, duration:1, easing:None.easeNone}; var BLINDH = {type:Blinds, direction:Transition.IN, duration:1, easing:None.easeNone, numStrips:10, dimension:0}; var BLINDV = {type:Blinds, direction:Transition.IN, duration:1, easing:None.easeNone, numStrips:10, dimension:1}; var VOLETV = {type:Blinds, direction:Transition.IN, duration:1, easing:None.easeNone, numStrips:1, dimension:1}; var VOLETH = {type:Blinds, direction:Transition.IN, duration:1, easing:None.easeNone, numStrips:1, dimension:0}; var WIPE = {type:Wipe, direction:Transition.IN, duration:1, easing:None.easeNone, startPoint:9}; // DISSOLVE IN var DISSOLVEIN_1 = {type:PixelDissolve, direction:Transition.IN, duration:2, easing:None.easeNone, xSections:10, ySections:10}; var DISSOLVEIN_2 = {type:PixelDissolve, direction:Transition.IN, duration:2, easing:None.easeNone, xSections:25, ySections:25}; var DISSOLVEIN_3 = {type:PixelDissolve, direction:Transition.IN, duration:2, easing:None.easeNone, xSections:50, ySections:50}; var DISSOLVEIN_1_STRONG = {type:PixelDissolve, direction:Transition.IN, duration:1.5, easing:Strong.easeOut, xSections:10, ySections:10}; var DISSOLVEIN_2_STRONG = {type:PixelDissolve, direction:Transition.IN, duration:1.5, easing:Strong.easeOut, xSections:25, ySections:25}; var DISSOLVEIN_3_STRONG = {type:PixelDissolve, direction:Transition.IN, duration:1.5, easing:Strong.easeOut, xSections:50, ySections:50}; // DISSOLVE OUT var DISSOLVEOUT_1 = {type:PixelDissolve, direction:Transition.OUT, duration:2, easing:None.easeNone, xSections:10, ySections:10}; var DISSOLVEOUT_2 = {type:PixelDissolve, direction:Transition.OUT, duration:2, easing:None.easeNone, xSections:25, ySections:25}; var DISSOLVEOUT_3 = {type:PixelDissolve, direction:Transition.OUT, duration:2, easing:None.easeNone, xSections:50, ySections:50}; var DISSOLVEOUT_1_STRONG = {type:PixelDissolve, direction:Transition.OUT, duration:1.5, easing:Strong.easeOut, xSections:10, ySections:10}; var DISSOLVEOUT_2_STRONG = {type:PixelDissolve, direction:Transition.OUT, duration:1.5, easing:Strong.easeOut, xSections:25, ySections:25}; var DISSOLVEOUT_3_STRONG = {type:PixelDissolve, direction:Transition.OUT, duration:1.5, easing:Strong.easeOut, xSections:50, ySections:50}; // ================================================================================ // Effets var transition_list:Array = new Array(); var transition_names:Array = ["FADE","SQUARE","CIRCLE","PHOTO","BLINDH","BLINDV","VOLETV","VOLETH","WIPE"]; // construction du tableau associatif des effets var nb:Number = transition_names.length; for(var i = 0 ; i < nb ; i++) { for( var j=1 ; j<4 ; j++ ) { // transition IN std transition_list[transition_names[i]+"IN_"+j] = cloneMe( _root[transition_names[i]] ); transition_list[transition_names[i]+"IN_"+j].duration = j; // transition OUT std transition_list[transition_names[i]+"OUT_"+j] = cloneMe( _root[transition_names[i]] ); transition_list[transition_names[i]+"OUT_"+j].duration = j; transition_list[transition_names[i]+"OUT_"+j].direction = Transition.OUT; // transition IN std, easing transition_list[transition_names[i]+"IN_"+j+"_STRONG"] = cloneMe( _root[transition_names[i]] ); transition_list[transition_names[i]+"IN_"+j+"_STRONG"].duration = j; transition_list[transition_names[i]+"IN_"+j+"_STRONG"].easing = Strong.easeOut; // transition OUT std, easing transition_list[transition_names[i]+"OUT_"+j+"_STRONG"] = cloneMe( _root[transition_names[i]] ); transition_list[transition_names[i]+"OUT_"+j+"_STRONG"].duration = j; transition_list[transition_names[i]+"OUT_"+j+"_STRONG"].direction = Transition.OUT; transition_list[transition_names[i]+"OUT_"+j+"_STRONG"].easing = Strong.easeOut; } } // DISSOLVE IN transition_list["DISSOLVEIN_1"] = DISSOLVEIN_1; transition_list["DISSOLVEIN_2"] = DISSOLVEIN_2; transition_list["DISSOLVEIN_3"] = DISSOLVEIN_3; transition_list["DISSOLVEIN_1_STRONG"] = DISSOLVEIN_1_STRONG; transition_list["DISSOLVEIN_2_STRONG"] = DISSOLVEIN_2_STRONG; transition_list["DISSOLVEIN_3_STRONG"] = DISSOLVEIN_3_STRONG; // DISSOLVE OUT transition_list["DISSOLVEOUT_1"] = DISSOLVEOUT_1; transition_list["DISSOLVEOUT_2"] = DISSOLVEOUT_2; transition_list["DISSOLVEOUT_3"] = DISSOLVEOUT_3; transition_list["DISSOLVEOUT_1_STRONG"] = DISSOLVEOUT_1_STRONG; transition_list["DISSOLVEOUT_2_STRONG"] = DISSOLVEOUT_2_STRONG; transition_list["DISSOLVEOUT_3_STRONG"] = DISSOLVEOUT_3_STRONG; function BUBBLEIN_1( clip ) { new mx.transitions.Tween(clip,"_xscale", mx.transitions.easing.Elastic.easeOut,0,100,1.3,true); new mx.transitions.Tween(clip,"_yscale", mx.transitions.easing.Elastic.easeOut,0,100,1.5,true); } function BUBBLEOUT_1( clip ) { new mx.transitions.Tween(clip,"_xscale", mx.transitions.easing.Elastic.easeOut,100,0,1.3,true); var t = new mx.transitions.Tween(clip,"_yscale", mx.transitions.easing.Elastic.easeOut,100,0,1.5,true); t.onMotionFinished = function(){ /* this.obj */ }; } // ================================================================================ // TRANSITION MANAGER function create(T, clip):Void { switch( T ) { case "BUBBLEIN_1" : case "BUBBLEIN_2" : case "BUBBLEIN_3" : case "BUBBLEIN_1_STRONG" : case "BUBBLEIN_2_STRONG" : case "BUBBLEIN_3_STRONG" : BUBBLEIN_1( clip ); break; case "BUBBLEOUT_1" : case "BUBBLEOUT_2" : case "BUBBLEOUT_3" : case "BUBBLEOUT_1_STRONG" : case "BUBBLEOUT_2_STRONG" : case "BUBBLEOUT_3_STRONG" : BUBBLEOUT_1( clip ); break; default : var TM:TransitionManager = new TransitionManager(clip); TM.startTransition(transition_list[T]); // écouteur var lst:Object = new Object(); lst.allTransitionsInDone = function() { /* */ }; lst.allTransitionsOutDone = function() { TM.content._visible = false; }; TM.addEventListener("allTransitionsOutDone", lst); //TM.addEventListener("allTransitionsInDone", lst); } } // OUTILS function cloneMe( obj:Object ):Object { var clone = new Object(); for(var prop in obj) { clone[prop] = obj[prop]; } return clone; }