electroduendes.com

bitácora de un desarrollador interactivo

electroduendes.com header image 2

mx.transitions.TransitionManager para flash 8

November 20th, 2005 · 6 Comments

Me he llevado una grata sorpresa al ojear la ayuda de flash 8. Se trata de la clase mx.transitions.TransitionManager, que permite trabajar con una serie de transiciones de una manera muy ágil. Supongo que casi todos los programadores, nos hemos imaginado, o tratado de implementar una clase de este tipo, que “encapsule” el comportamiento del conjunto de transiciones de nuestro repositorio. Pues bien, para aquellos que no lo han hecho todavía, Macromedia se les ha adelantado.

Editado: después del comentario de mi amigo manjeet, entiendo que este post, puede ser muy arduo sin un ejemplo. Aquí os pongo el resultado del código:




y el código.

import mx.transitions.*;
import mx.transitions.easing.*;
var animador:TransitionManager = new TransitionManager(mc);
// configuramos nuestros objetos de transiciones
var objBlinds:Object = {type:Blinds, direction:Transition.IN, duration:2, easing:None.easeNone, numStrips:10, dimension:0};
var objFadeTransition:Object = {type:Fade, direction:Transition.IN, duration:3, easing:None.easeNone};
var objFlyTransition:Object = {type:Fly, direction:Transition.IN, duration:3, easing:Elastic.easeOut, startPoint:9};
var objIrisTransition:Object = {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:5, shape:Iris.CIRCLE};
var objPhotoTransition:Object = {type:Photo, direction:Transition.IN, duration:1, easing:None.easeNone};
var objPixelTransition:Object = {type:PixelDissolve, direction:Transition.IN, duration:2, easing:None.easeNone, xSections:10, ySections:10};
var objRotateTransition:Object = {type:Rotate, direction:Transition.IN, duration:3, easing:Strong.easeInOut, ccw:false, degrees:720};
var objSqueezeTransition:Object = {type:Squeeze, direction:Transition.IN, duration:2, easing:Elastic.easeOut, dimension:1};
var objWipeTransition:Object = {type:Wipe, direction:Transition.IN, duration:2, easing:Elastic.easeOut, startPoint:1};
var objZoomTransition:Object = {type:Zoom, direction:Transition.IN, duration:2, easing:Elastic.easeOut};
// rellenamos nuestro combo
combo.addItem({data:objBlinds, label:"Blinds"});
combo.addItem({data:objFadeTransition, label:"Fade"});
combo.addItem({data:objFlyTransition, label:"Fly"});
combo.addItem({data:objIrisTransition, label:"Iris"});
combo.addItem({data:objPhotoTransition, label:"Photo"});
combo.addItem({data:objPixelTransition, label:"PixelDissolve"});
combo.addItem({data:objRotateTransition, label:"Rotate"});
combo.addItem({data:objSqueezeTransition, label:"Squeeze"});
combo.addItem({data:objWipeTransition, label:"Wipe"});
combo.addItem({data:objZoomTransition, label:"Zoom"});
// cargamos el evento change
var obj:Object = new Object();
obj.change = function(evt_obj:Object):Void  {
	var seleccion:Object = evt_obj.target.selectedItem;
	animador.startTransition(seleccion.data);
};
combo.addEventListener("change", obj);
var obj2:Object = new Object();
// cargamos el eveno
obj2.allTransitionsInDone = function(eventObj:Object) {
	trace("evento despachado, fin de la animación");
};
animador.addEventListener("allTransitionsInDone", obj2);

Tags: Actionscript 2.0 · Flash · Librerías, recursos

6 responses so far ↓

  • 1 Manjeet // Nov 22, 2005 at 11:38 pm

    I?´ll try that one later.

  • 2 Alex // Nov 23, 2005 at 2:43 pm

    que perro el manjeet :D

  • 3 electroduendes.com » gdispatcher, la navaja suiza de los eventos // Feb 5, 2006 at 10:14 pm

    [...] Enlaces relacionados: Callbacks, la antesala de los listeners. Lo que viene: listeners en Actionscript 3.0 Implementación del uso de listeners con un combo y la clase TransitionManager Un ejemplo de uso de EventDispatcher en actionscript.org   [...]

  • 4 Joan Garnet // Feb 6, 2006 at 9:12 pm

    mmm, qué bien!
    Le acabo de sacar un buen jugo a tu post :)
    En mi vida había utilizado esta clase, pero va de c*j*nes.
    Adjudicada!

  • 5 juanc // Mar 8, 2008 at 4:46 am

    buena info

  • 6 Lucas // Apr 29, 2010 at 2:17 pm

    Muy muy muy recomendable esta clase!! Me ha salvado de programar bastaaaaante… :D

Leave a Comment