Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal.
Estou tentando criar animações com Actionscript para vários MovieClips. Estes MovieClips têm nomes em sequência (tipo obj1, obj2, obj3...) a fim de facilitar a programação.
O código que me levaria a este resultado seria o seguinte:
var obj1xScale:Tween = new Tween(obj1, "_xscale", Regular.easeInOut, 100, 150, 4, true);
obj1xScale.onMotionFinished = function(){ this.yoyo; }
var obj2xScale:Tween = new Tween(obj2, "_xscale", Regular.easeInOut, 100, 150, 4, true);
obj2xScale.onMotionFinished = function(){ this.yoyo; }e por aí vai!
Mas eu queria otimizar isso, tipo, colocar o código somente uma vez dentro de um loop:
for(var i=1; i<=10; i++){
var obj1xScale:Tween = new Tween(this["obj" + i], "_xscale", Regular.easeInOut, 100, 150, 4, true);
obj1xScale.onMotionFinished = function(){ this.yoyo; }
}O meu grande problema é com a variável tipo Tween (obj1xScale). Eu não consigo gerar este nome de forma dinâmica de jeito nenhum! :wacko: Já tentei usar eval("obj" + i + "xScale") e this["obj" + i + "xScale"], mas nada dá certo.
Alguém tem idéia como é possível fazer isso?
Ou jogar em uma função assim:
var i:Number;
function animaTween(obj:MovieClip) {
var objxScale:Tween = new Tween (obj, "_xscale", Regular.easeInOut, 100, 150, 4, true);
objxScale.onMotionFinished = function(){
objxScale.yoyo();
}
};
for(i=1; i<=10; i++){
animaTween(this["obj"+i]);
};Obrigado pessoal! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
As duas formas funcionaram.
Um grande abraço! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
testa assim