Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Peter Hahmann

Animando Objetos AS3

Recommended Posts

E aew tudo bem?

 

Eu estou usando o seguinte código para animar os mcs do meu menu. O trace funciona certinho, porém quando o flash lê a linha do "addEventListener" o recebo o seguinte erro:TypeError: Error #1010: A term is undefined and has no properties. At MethodInfo-1()

 

Agradeço se alguem puder me ajudar.

 

abracos,

peter

 

 

import flash.events.Event;

 

 

 

/*FUNÇÃO DE MOVIMENTAÇÃO DOS MENUS*/

function moverMenu(mcBt:Array) {

for (var i=0; i< mcBt.length; i++) {

//trace(mcBt);

function moveMenuLateral(event:Event):void {

mcBt.x *= (0.5);

 

if (mcBt.x <= 0) {

mcBt.removeEventListener(Event.ENTER_FRAME, moveMenuLateral);

}

}

trace(mcBt);

mcBt.addEventListener(Event.ENTER_FRAME,moveMenuLateral);

}

}

 

moverMenu([btEmpresa,btProdutos]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deveria ter utilizado o event.currentTarget, para fazer referencia ao movieClip que contem o enterFrame

 

outra coisa, evite colocar função dentro de função, não é uma boa pratica

 

 

veja como ficou:

 

 

 

ACTIONSCRIPT
import flash.events.Event;

 

/*FUNÇÃO DE MOVIMENTAÇÃO DOS MENUS*/

function moverMenu(mcBt:Array) {

        for (var i=0; i< mcBt.length; i++) {

                trace(mcBt[i]);

                mcBt[i].addEventListener(flash.events.Event.ENTER_FRAME ,moveMenuLateral);

        }

}

 

function moveMenuLateral(event:flash.events.Event):void {

        event.currentTarget.x *= (0.5);

        if (event.currentTarget.x <= 0) {

                event.currentTarget.removeEventListener(Event.ENTER_FRAME, moveMenuLateral);

        }

}

moverMenu([btEmpresa,btProdutos]);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.