Curso AS3

Animações Dinâmicas com a classe Tween

A classe Tween nos possibilita animar sem que seja necessário utilizar a timeline ou criar códigos próprios para animação. Com esta classe podemos animar facilmente menus, transições e até mesmo alterar a animação de componentes como o ComboBox. A classe Tween esta disponível no Actionscript 2.0.

Primeiramente deve-se importar as classes:

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

A primeira linha importa a classe mx.transitions.Tween, e na segunda linha utilizou-se o asterisco (*) para importar o pacote easing de seis classes (Back, Bounce, Elastic, Strong, Regular, None) em uma única linha. Não é necessário se preocupar com o tamanho do arquivo, quando o SWF for compilado, apenas as classes usadas serão incorporadas ao arquivo.

Para utilizar os métodos e propriedades da classe Tween deve-se criar uma nova instância da classe, veja:

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var anda:Tween = new Tween(ESouza, "_x", Elastic.easeOut, 0, 200, 2, true);

Para testar a animação acima, instancie um movieClip de ESouza, e configure o FPS (CTRL+J) do filme para 20.

O construtor da classe Tween requer sete parâmetros:

var anda:Tween = new Tween(objeto:Object, propriedade:String, função:Function, início:Number, final:Number, duração:Number, segundos:Boolean);
  • objeto: instância do movieClip a ser animado.
  • propriedade: propriedade a ser animada: _alpha, _width, _height, _x, _y, _xscale, _ysacle, _rotation.
  • função: efeitos de animação e os métodos a serem aplicados.

    Efeitos de Animação

    Back: efeito de estar sendo puxado.

    Bounce: efeito de salto.

    Elastic: efeito elástico.

    Regular: animação mais lenta em uma ou ambas extremidades.

    Strong: o mesmo efeito do Regular, porém esta é mais evidente.

    None: transição linear, sem efeito algum.

    Métodos easing

    easeIn: aplica o efeito ao início da animação.

    easeOut: aplica o efeito ao final da animação.

    easeInOut: aplica o efeito ao início e final da animação.

    easeNone: indica que nenhum método easing deve ser usado. Este se aplica apenas junto ao easing None.

  • início: valor inicial para a animação.
  • final: valor final para a animação.
  • duração: valor de duração para a animação, que pode ser calculada por quadro ou em segundos dependendo do próximo parâmetro.
  • segundos: define se a duração da animação é calculada em segundos ou por quadros. True calculará em segundos, False por quadros.

Tween.onMotionFinished: Definindo comandos a uma animação assim que esta terminar

Utilizando o evento Tween.onMotionFinished é possível definir comandos que serão disparados assim que a animação Tween finalizar.

InstanciaDoTween.onMotionFinished = function() {
	//comandos
};

Exemplo:

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var anda:Tween = new Tween(ESouza, "_x", Elastic.easeOut, 0, 200, 2, true);
 
anda.onMotionFinished = function() {
	var anda:Tween = new Tween(ESouza, "_x", Elastic.easeOut, 200, 300, 5, true);
};

Uma forma de se otimizar o código acima é utilizando o método Tween.continueTo(), que anima do valor final a um novo valor, e com um novo tempo de duração.

InstanciaDoTween.continueTo(final, duração);
  • final: o valor final para a propriedade utilizada na animação.
  • duração: duração da animação em segundos ou em quadros dependo do que foi setado na primeira animação.
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var anda:Tween = new Tween(ESouza, "_x", Elastic.easeOut, 0, 200, 2, true);
 
anda.onMotionFinished = function() {
	anda.continueTo(300, 5);
};

Tween.yoyo(): Animação reversa

Com o método Tween.yoyo() anima-se no sentido reverso, caso este seja chamado antes que a animação termine, ela imediatamente iniciará a animação no sentido contrário, do valor atual, para certificar-se de que o método Tween.yoyo() seja chamado após a animação terminar, chame-o utilizando o evento Tween.onMotionFinished.

No código abaixo a animação vai ficar em loop, pois toda vez que a animação chega ao final, é chamado o método Tween.yoyo() que fará com que a animação continue no sentido contrário.

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var anda:Tween = new Tween(ESouza, "_x", Elastic.easeOut, 0, 200, 2, true);
 
anda.onMotionFinished = function() {
	anda.yoyo();
};

Alterando o FPS da animação dinamicamente via actionscript

No início deste texto foi alterado o valor do FPS manualmente para que as animações reproduzissem de forma suave, você pode alterar o FPS de cada animação dinamicamente:

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var anda:Tween = new Tween(ESouza, "_x", Elastic.easeOut, 0, 200, 2, true);
anda.onMotionFinished = function() {
	anda.yoyo();
};
anda.FPS = 20;
ESouza._y = 5;
 
//duplica o mc ESouza e atribui a instancia de ESouza2
duplicateMovieClip("ESouza", "ESouza2", _root.getNextHighestDepth());
//coloca o novo mc abaixo do mc original
ESouza2._y = ESouza._height + ESouza._y+10;
 
var anda2:Tween = new Tween(ESouza2, "_x", Elastic.easeOut, 0, 200, 2, true);
anda2.onMotionFinished = function() {
	anda2.yoyo();
};
anda2.FPS = 10;

Métodos de Controle de Animação

A classe Tween possui métodos que nos possibilitam ter um maior controle da animação, e nos possibilitam realizar comandos como o de anvaçar e parar a animação.

  • Tween.stop(): para a animação.
  • Tween.resume(): continua a animação.
  • Tween.rewind(): vai para o início da animação.
  • Tween.fforward(): vai para o final da animação.
  • Tween.nextFrame(): avança para o próximo quadro da animação. Deve ser usado após parar a animação utilizando o método Tween.stop().
  • Tween.prevFrame(): volta para o quadro anterior da animação. Deve ser usado após parar a animação utilizando o método Tween.stop().
  • Tween.start(): começa a animação do início.

Para testar o código abaixo que foi usado na animação, crie os sete botões presentes na animação e os instancie de btStop, btResume, btPrev, btNext, btInicio, btFinal e btStart respectivamente.

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var anda:Tween = new Tween(ESouza, "_x", Bounce.easeOut, 0, 350, 50, false);
 
anda.onMotionFinished = function() {
  anda.yoyo();
};
 
//botão Stop
btStop.onRelease = function(){
	anda.stop();
	}
 
//botão Resume
btResume.onRelease = function(){
	anda.resume();
	}
 
//botão Início
btInicio.onRelease = function(){
	anda.rewind();
	}
 
//botão Final
btFinal.onRelease = function(){
	anda.fforward();
	}
 
//botão Prev
btPrev.onRelease = function(){
	anda.prevFrame();
	}
 
//botão Next
btNext.onRelease = function(){
	anda.nextFrame();
	}
 
//botão Start
btStart.onRelease = function(){
	anda.start();
	}

Definindo comandos de acordo com o estado da animação

Neste texto já foi visto o evento Tween.onMotionFinished que é invocado assim que a animação chega ao final, abaixo encontram-se os outros eventos de controle:

  • Tween.onMotionChanged: invocado quando houver alterações na animação.
  • Tween.onMotionResumed: invocado assim que a animação é continuada pelo método Tween.resume().
  • Tween.onMotionStarted: invocado assim que a animação é iniciada pelo método Tween.start().
  • Tween.onMotionStopped: invocado assim que a animação é parada pelo método Tween.stop().
  • Tween.onMotionFinished: invocado assim que a animação termina.

Alguns exemplos

Escala

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
	var xTween:Tween = new Tween(ESouza, "_xscale", Bounce.easeOut, 100, 50, 1, true);
	var yTween:Tween = new Tween(ESouza, "_yscale", Bounce.easeOut, 100, 50, 1, true);

Rotação

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var gira:Tween = new Tween(ESouza, "_rotation", Bounce.easeOut, 0, 360, 2, true);

39 Responses to “Animações Dinâmicas com a classe Tween”

  1. Kleber Forte Says:

    muito bom. ajudou muito.

  2. Guilherme Loureiro Says:

    Fala Erick,

    Quanto tempo em brother?!
    Tô vendo que continua “o cara” do flash… =)

    Muito bom esse seu site.
    Quero ver muita coisa sobre flash + AS aqui em cara?

    É isso ai, sucesso!
    Guilherme (cyber).

  3. Erick Souza Says:

    Obrigado Guilherme. Certamente, tem muito material previsto para vir, de acordo com o tempo vou adicionando.

    Um abraço.

  4. Felipe Almeida Says:

    Cara, essa aula de tween foi muito produtiva pra mim. Muito bom mesmo, bem explicado, sem esconder nada. Valew mesmo.

  5. Thiago Moreira de Souza Says:

    Boa Noite, Erick Souza,
    infelizmente eu não consegui fazer eu observei que não tenho na lista essas funções e estou usando Flash 8 Professional, é muito estranho não ter o Tween, será que eu devo pegar pacote avulso, gostaria muito da sua respota. obrigado :)

  6. Erick Souza Says:

    Thiago, apesar da classe realmente não estar incorporada ao editor de AS do Flash, você pode usá-la sem problema algum desde a versão MX2004.

    Nota: na versão MX2004, a classe Tween não está presente na documentação.

    Se encontrar problemas em utilizar a classe, releia esta página, está bem detalhado em como utilizá-la, caso tenha algum dúvida, sinta-se a vontade para entrar em contato. ;-)

  7. Marcel Elias Says:

    Cara muito boa esse tutorial sobre tween . Aprendi bastante ..valew mesmo ….abrasss

  8. Fernando Says:

    Muito bom, eu estava mesmo procurando um site assim, onde eu encontrasse tudo sobre a classe tween, muito bem explicado, super esclarecedor. Muito bom!

  9. Cleverson Says:

    PERFEITO, show de bola Erick, já está nos favoritos!

  10. daniel Says:

    Mto bom mesmo, parabéns! Grato pelo auxílio na lista FUGPE!
    abraços

  11. toinsane Says:

    No coments…
    Simples e direto… parabéns cara 8)

  12. Cristiano Says:

    Ae kra comecei a estudar action script a fundo agora! Teu site ta me dando uma grande ajuda! parabens!

  13. Alers Says:

    Cara, quando eu decidi pesquesar sobre a Classe Tween a primeira matéria q eu li foi a sua. Simplismente perfeito!! Não precisei ler mais nada!

    Parabéns pela matéria.

  14. Patricia Says:

    :o
    Preciso de ajuda …
    Não consigo rodar os exepmlos…
    Sempre apresenta erros debug …
    Utilizo Flash prof. versão 8.

  15. Marco Says:

    sensacional… parabéns

  16. Marcus Xavier Says:

    muito legal msm esse tutorial,….

    tirou muitas duvidas sobre a classe tween…
    antes eu so encontrava material em ingles,
    e ficava algo q eu nao entendia,
    valeu mesmo,
    mas não consegui fazer funcinar a propriedade “onMotionFinished”,
    uso o flash mx 2004 pro,
    diz q a propriedade nãp existe.

  17. Ingrid Says:

    Oi, muito legal seu tutorial!!
    Estou seguindo o passo a passo e gostaria de fzr um efeito p a propriedade _alpha. Quais sao os efeitos?
    Agradeço antecipadamente. vlw

  18. Ingrid Says:

    Consegui fazer!!
    sou sua fã! rsrs

  19. Joao Says:

    :D muuiiitttoooo bom mas estou com uma duvida com re-aproveitar as funcoes so mudando o os parametros???

    :?:

    mas de qualquer forma ta muito bom

  20. Grilan Says:

    Muito bom, gostaria de saber onde posso pesquisar mais sobre outras classes?

  21. Hudson Says:

    Cara vlwww
    vow ser eternamente gratooo
    graças a o tuto melhorei muito em relacao as
    ^^

    brigadaoo mesmoo
    vlwwwwwww
    :D :D :D :D :D

  22. guati Says:

    Erick,

    o seu site já está gravado nos favoritos e tenha certeza que passarei adiante para outros amigos. As explicações são muito boas e fáceis de entender.

    []´s

  23. Alvaro Marques Says:

    Boa noite a todos. Erick primeiramente parabens pelo site e pelo nível e relevância do material! Atualmente estou me aprofundando no AS e tem sito de enorme ajuda!

    Vamos ao detalhe chato: é só comigo ou o flash CS3 não trabalha com a classe TweenExtended?

    Outro detalhe: abri pelo Flash 8 e o mesmo reconheceu normalmente.

    Fico no aguardo e desde já obrigado.

  24. Eder Furlan Cardoso Says:

    Cara muito ótimo e muito bem esplicado… estava procurando saber sobre isso faz tempo…só aprendi aqui

  25. Rodrigo Says:

    Cara, tu eh foda!!! mto boa a explicação, entendi tudo e jah to usando de monte…poupando a timeline direto…hehehe

    valeo pelo tuto!!

    abrass

  26. William Says:

    opaa.
    gostei muito do tuto..
    so q eu to com uma tremenda duvida..
    como eu faco pra a tween so executa quando eu passa o mouse em cima??

    desde ja agradeco..
    vlwww

  27. Shote Says:

    Óptimo tutorial. Obrigado
    _____________

    William, fácil..

    mete a tween dentro de uma função.. depois é só chamar no botão.onRollover

  28. Leandra Says:

    melhor tuto de classe Tween que eu já vi.
    parabéns, agradeço imensamente!!!

  29. Alexandre Says:

    PARABÉNS CARA, BELOO TUTORIAL, FAVORITEI!
    MESMO SEM TEMPO PRA NADA, TIVE QUE PARAR AQUI E DEIXAR UM COMENTÁRIO PRA VC!!

  30. Ernesto Says:

    Cara, meus parabéns ótimo blog o seu.
    Essas classes são sensacionais! Obrigado pela aula!

  31. Anderson Borges Says:

    Olá Erick, gostaria de agradecê-lo pelo artigo que além de ter sido muito bem explicado, as animações foram primordiais para que eu pudesse aprender.

    Parabéns e muito obrigado ;)

  32. JOELWALLIS.NET » Aplicando filtros gradativamente Says:

    [...] da classe Tween (as classes do Jack Doyle usam conceitos da classe Tween, então aconselho ler o artigo super completo do Erick Souza sobre a classe Tween) chamada TweenFilterLite. Com ela é possível [...]

  33. willy deivys Says:

    Adeus interpolações…. obrigado EricK… mudou muito meu método de trabalho.

  34. Sergio Says:

    Fala rapaz, usei muitos desses efeitos que vc posto aqui em um site, são perfeitos para o que eu quero fazer. Mas eu estava querendo usar um efeito que você postou aqui com uma alteração que não estou conseguindo inserir. É o seguinte: Queria fazer uma animação em que o mc saisse de um ponto, fosse até outro, parasse nesse ponto por um momento em que eu possa controlar e depois seguisse em frente.
    Tem jeito de fazer isso?

  35. Filipe Says:

    Erick Parabéns pelo tuto excelente…
    Mas não rodou aqui comigo, e ocorreram varios (8) erros no Debug… O que eu estaria fazendo de errado? Alguem pode me dar uma força?

    Valeu!

  36. Fábio Says:

    Faço minhas as palavras de todos da lista… muito esclarecedor, porém, rs.
    Tenho um defeito, ou virtude, como preferir de ser perfeccionista. Uso essas classes há um bom tempo, mas ultimamente tenho visto uma “falha” nessa classe. Acho que pode até ser o fato de eu ter alterado um pouco um valor. pegamos como exemplo seu primeiro código.

    var anda:Tween = new Tween(ESouza, “_x”, Elastic.easeOut, 0, 200, 2, true);
    mudei para:
    var anda:Tween = new Tween(ESouza, “_x”, Elastic.easeOut, ESouza._x, 200, 2, true);

    mais especificamente:

    mc1.onRollOver = function(){
    var pop:Tween = new Tween(mc2, “_width”, Back.easeOut, mc2._width, 200, 0.5, true);
    }

    mc1.onRollOut = function(){
    var pop:Tween = new Tween(mc2, “_width”, Back.easeOut, mc2._width, 30, 1, true);
    }

    ok, mas quando faço um rollover e saio antes de completar o curso, o mc2 até volta direito pra posição inicial como deveria ser mas ao completar o caminho inverso ele salta para a posição final e pára, voltando ao movimento ao fazer um novo rollover. Enquanto digitava isso fui testando e cheguei a conclusão de que isso ocorre pelo fato de eu estar usando duas velocidades diferentes de ida e de volta. Resolvido meu problema em partes, mas pq isso ocorre e como faço pra sanar tal problema se eu precisar usar velocidades diferentes?

    Obrigado e desculpe pela Ata. Parabéns pelo blog, é muito bom mesmo.

  37. Maricelmo Silva Says:

    Ola Erick, Ja te parabenizo pelo site de ajuda, muito bom! mas gostaria que vc me ajudasse com este
    codigo abaixo>

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

    var anda:Tween = new Tween(mc_foto1, “_y”, None.easeOut, -120,-241,
    5, true);
    anda.onMotionFinished = function() {
    //anda.yoyo();
    new Tween(mc_foto1,”_alpha”,Regular.easeOut,100,0,2,true);
    new Tween(mc_foto2, “_y”, None.easeOut, -200,-341, 5, true);
    };

    porem o que acontece eh que, executa o mc_foto1 normal, quando chagar
    ao final, faz um alfa, e depois executa o mc_foto2.
    como faço pra quando executar o mc_foto2, voltar a executar o
    mc_foto1?
    assim. mc_foto1, alfa , mc_foto2 , mc_foto1, alfa , mc_foto2.

    Obrigado.

  38. Luiz Rodrigues Says:

    Bom Erick, quero te agradecer em compartilhar o seu conhecimento conosco. Bom minha duvida é o seguinte, estive fazendu uns trabalhos usando a Tween, só que conforme o tempo fui deixando o script muito complexo e com issu o meu trabalho quando rodado em alguns computador fica lento pra burro, e olha q o swf final tem somente 20 kbytes. Ai pensei ” acha que exagerei no classe”.^^

    Teria alguma forma de aumentar essa velocidade de processamento? As travadas que dá, acaba com o meu layout e etc. Bom issu é apenas umas das muitas funções q estou usando.

    ///**********
    function aumentoFogoes() {
    var tituloFogoesX:Tween = new Tween(titulos_mc.fogoes_mc, “_xscale”, Strong.easeOut, 100, 150, 0.8, true);
    var tituloFogoesY:Tween = new Tween(titulos_mc.fogoes_mc, “_yscale”, Strong.easeOut, 100, 150, 0.8, true);
    var tituloContX:Tween = new Tween(titulos_mc.contato_mc, “_xscale”, Strong.easeOut, titulos_mc.contato_mc._xscale, 100, 0.8, true);
    var tituloContY:Tween = new Tween(titulos_mc.contato_mc, “_yscale”, Strong.easeOut, titulos_mc.contato_mc._yscale, 100, 0.8, true);
    var tituloProdutoX:Tween = new Tween(titulos_mc.produtos_mc, “_xscale”, Strong.easeOut, titulos_mc.produtos_mc._xscale, 100, 0.8, true);
    var tituloProdutoY:Tween = new Tween(titulos_mc.produtos_mc, “_yscale”, Strong.easeOut, titulos_mc.produtos_mc._yscale, 100, 0.8, true);
    var tituloForneX:Tween = new Tween(titulos_mc.fornecedores_mc, “_xscale”, Strong.easeOut, titulos_mc.fornecedores_mc._xscale, 100, 0.8, true);
    var tituloForneY:Tween = new Tween(titulos_mc.fornecedores_mc, “_yscale”, Strong.easeOut, titulos_mc.fornecedores_mc._yscale, 100, 0.8, true);
    var btn1mouse:Tween = new Tween(fundo2_mc, “_height”, Strong.easeOut, fundo2_mc._height, 480, 0.8, true);
    var btn1mouseX:Tween = new Tween(fundo2_mc, “_xscale”, Strong.easeOut, fundo2_mc._xscale, 120, 0.8, true);
    var btn1mouseY:Tween = new Tween(fundo2_mc, “_y”, Strong.easeOut, fundo2_mc._y, 97, 0.8, true);
    var direitosmouseY:Tween = new Tween(direitos_mc, “_y”, Strong.easeOut, direitos_mc._y, 600, 0.8, true);
    var direitosmouseX:Tween = new Tween(direitos_mc, “_x”, Strong.easeOut, direitos_mc._x, 795, 0.8, true);
    var ruamouseY:Tween = new Tween(rua_mc, “_y”, Strong.easeOut, rua_mc._y, 595, 0.8, true);
    var ruamouseX:Tween = new Tween(rua_mc, “_x”, Strong.easeOut, rua_mc._x, 238, 0.8, true);
    var fonemouseY:Tween = new Tween(fone_mc, “_y”, Strong.easeOut, fone_mc._y, 610, 0.8, true);
    var fonemouseX:Tween = new Tween(fone_mc, “_x”, Strong.easeOut, fone_mc._x, 238, 0.8, true);
    var logo:Tween = new Tween(logo_mc, “_x”, Back.easeOut, logo_mc._x, 60, 0.8, true);
    var iconesF:Tween = new Tween(icones_mc, “_x”, Back.easeOut, icones_mc._x, 830, 0.8, true);
    var iconesY:Tween = new Tween(icones_mc, “_y”, Strong.easeOut, icones_mc._y, 111, 0.8, true);
    var btn2_4X:Tween = new Tween(btn2_4, “_x”, Strong.easeOut, btn2_4._x, 274, 2, true);
    var btn2_4Y:Tween = new Tween(btn2_4, “_y”, Strong.easeOut, btn2_4._y, 560, 2, true);
    var btn2_4X:Tween = new Tween(btn2_3, “_x”, Strong.easeOut, btn2_3._x, 421, 2, true);
    var btn2_3Y:Tween = new Tween(btn2_3, “_y”, Strong.easeOut, btn2_3._y, 560, 2, true);
    var btn2_2X:Tween = new Tween(btn2_2, “_x”, Strong.easeOut, btn2_2._x, 572, 2, true);
    var btn2_2Y:Tween = new Tween(btn2_2, “_y”, Strong.easeOut, btn2_2._y, 560, 2, true);
    var btn2_1X:Tween = new Tween(btn2_1, “_x”, Strong.easeOut, btn2_1._x, 724, 2, true);
    var btn2_1Y:Tween = new Tween(btn2_1, “_y”, Strong.easeOut, btn2_1._y, 560, 2, true);
    var categoria2FogoesX:Tween = new Tween(titulos_mc.fogoes_mc, “_x”, Strong.easeOut, titulos_mc.fogoes_mc._x, -227, 2, true);
    var categoria2FogoesY:Tween = new Tween(titulos_mc.fogoes_mc, “_y”, Strong.easeOut, titulos_mc.fogoes_mc._y, 0, 2, true);
    var categoria2ForneX:Tween = new Tween(titulos_mc.fornecedores_mc, “_x”, Strong.easeOut, titulos_mc.fornecedores_mc._x, -78, 2, true);
    var categoria2ForneY:Tween = new Tween(titulos_mc.fornecedores_mc, “_y”, Strong.easeOut, titulos_mc.fornecedores_mc._y, 0, 2, true);
    var categoria2ProdutoX:Tween = new Tween(titulos_mc.produtos_mc, “_x”, Strong.easeOut, titulos_mc.produtos_mc._x, 73, 2, true);
    var categoria2ProdutoY:Tween = new Tween(titulos_mc.produtos_mc, “_y”, Strong.easeOut, titulos_mc.produtos_mc._y, 0, 2, true);
    var categoria2ContX:Tween = new Tween(titulos_mc.contato_mc, “_x”, Strong.easeOut, titulos_mc.contato_mc._x, 227, 2, true);
    var categoria2ContY:Tween = new Tween(titulos_mc.contato_mc, “_y”, Strong.easeOut, titulos_mc.contato_mc._y, 0, 2, true);
    }
    ////******

    eu sei que com AS3 tem com mudar issu, agente chama somente uma vez a classe, ai depois é so atribuir o valores conforme o necessitado… Mas estou rodando o trabalho no Fplayer 8

    existe essa possibilidade no AS2.????

    desde já agradeço…

    vlw Erick

  39. Antonio Carlos Alves Says:

    Boa tarde Erick..

    desde ja agradeço por compartilhar suas experiencias conosco…
    estou fazendo alguns testes com o tween no flash, mas queria saber se é possível fazer o seguinte:
    1. Criei um movie clip dentro da library, e dentro deste mc, criei os movimentos, as animações e demais itens;
    2. Agora quero chamar este mc no movie clip principal usando o attachmovie e fazer com que o mc que inseri seja executado.

    É possivel fazer isso ??

Leave a Reply