A classe TransitionManager


Vamos estudar aqui uma classe meio escondida do AS2. A Transition Manager.
Com ela podemos aplicar alguns efeitos de transição prontos em MovieClips. As transições disponíveis são: blind, fade, fly, iris, photo, PixelDissolve, squaze, rotate, wipe, zoom.

transitionmanager.gif

Para utilizar esta classe, precisamos inserir o seguinte código, importando-a no flash:

import mx.transitions.*;
import mx.transitions.easing.*;

Após incluir o código acima, existem duas maneiras de se aplicar uma transição, uma é criando um objeto da classe (que permite controlar, via listener, o término do efeito) e diretamente, conforme abaixo:

Blind: TransitionManager.start(alvo, {type:Blinds, direction:Transition.IN, duration:0.5, easing:None.easeNone, numStrips:05, dimension:0});
Squeeze: TransitionManager.start(alvo, {type:Squeeze, direction:Transition.IN, duration:2, easing:Elastic.easeOut, dimension:1});
Rotate: TransitionManager.start(alvo, {type:Rotate, direction:Transition.IN, duration:3, easing:Strong.easeInOut, ccw:false, degrees:720});
PixelDissolve:
TransitionManager.start(alvo, {type:PixelDissolve, direction:Transition.IN, duration:2, easing:None.easeNone, xSections:10, ySections:10});
Photo: TransitionManager.start (alvo, {type:Photo, direction:Transition.IN, duration:1, easing:None.easeNone});
Iris: TransitionManager.start(alvo, {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:5, shape:Iris.CIRCLE});
Fly: TransitionManager.start(alvo, {type:Fly, direction:Transition.IN, duration:3, easing:Elastic.easeOut, startPoint:9});
Fade: TransitionManager.start(alvo, {type:Fade, direction:Transition.IN, duration:3, easing:None.easeNone});
Wipe: TransitionManager.start(alvo, {type:Wipe, direction:Transition.IN, duration:2, easing:None.easeNone, startPoint:1});
Zoom:
TransitionManager.start(alvo, {type:Zoom, direction:Transition.IN, duration:2, easing:Elastic.easeOut});

Nos exemplos acima, alvo é o MovieClip o qual estamos aplicando o efeito.
Um exemplo completo:

import mx.transitions.*;
import mx.transitions.easing.*;

TransitionManager.start(alvo, {type:Blinds, direction:Transition.IN, duration:0.5, easing:None.easeNone, numStrips:05, dimension:0});

Para controlar o fim do efeito, devemos declarar a classe em um objeto, como abaixo:

import mx.transitions.*;
import mx.transitions.easing.*;

var myTransitionManager:TransitionManager = new TransitionManager(alvo);
myTransitionManager.startTransition({type:Iris, direction:Transition.IN, duration:1, easing:None.easeNone, startPoint:5, shape:Iris.CIRCLE});
var myListener:Object = new Object();
myListener.allTransitionsInDone = function(eventObj:Object) {
trace(“A animação acabou.”);
};
myTransitionManager.addEventListener(“allTransitionsInDone”, myListener);

Para efeitos que tem a direção OUT, em vez de IN, deve-se substituir allTransitionsInDone por allTransitionsOutDone.
Baixe um exemplo da cada transição aqui.

Página de referência (LiveDocs):
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00004085.html

, , ,

  1. #1 por Ruben em Junho 9th, 2008

    Deu muito jeito! :D Obrigado

  2. #2 por Gabriel Benício em Julho 24th, 2008

    Cara… muito bom!!!!
    Me quebrou um galhão!

(não será publicado)
  1. Nenhum trackback.