Comunidad de diseño web y desarrollo en internet online

Como acceder a los objetos padre event.target.root.contenedo

Citar            
MensajeEscrito el 17 Nov 2008 01:00 pm
Hola lista, tengo una consulta q no logro entender el fallo, resulta que desde un movieclip que es un boton animado quiero lanzar una accion para esconder un panel, pero desde la funicon timer, me sale como que no reconoce el objeto que esta en el moviclip principal, en el .as lo raro que desde la misma instancia de codigo otra funcion que es un button clik si anda, a ver si alguien ve cual es el problema, ya q no doy con el.

var clic:Boolean = new Boolean;
var timer1:Timer = new Timer(3000);
clic = false;

ver1.addEventListener(MouseEvent.CLICK, ver1_CLICK);
timer1.addEventListener(TimerEvent.TIMER, onTimer1);

function ver1_CLICK(e:MouseEvent):void
{
if(clic == false) {
timer1.start();

e.target.root.contenedor.x = 318;
clic = true;
ver1.rotation += 180;
ver1.y = 14;
ver1.x = 10;
} else {
e.target.root.contenedor.x = 516;
clic = false;
ver1.rotation -= 180;
ver1.y = -290.6;
ver1.x = 0;
}
}

function onTimer1(evt:TimerEvent):void
{
timer1.stop();
event.target.root.contenedor.x = 516; // no anda
//e.target.root.contenedor.x = 516;
clic = false;
ver1.rotation -= 180;
ver1.y = -290.6;
ver1.x = 0;
}

Por venenus

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Nov 2008 02:43 pm
Primero, debería ser evt.target,
De cualquier modo no va a funcionar. Un evento onTimer recibe como parámetro un TimerEvent, un TimerEvent sí tiene "target", pero es el propio objeto "timer1". Vamos, un objeto de la Clase Timer. Un objeto de la Clase Timer NO tiene ninguna propiedad "root" (de hecho la propiedad root, así como la propiedad parent, son propiedades de la clase DisplayObject -y de todas las clases derivadas de ella)
NOTA:Puedes usar directamente "contenedor", en lugar de "e.target.root.contenedor"

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Nov 2008 04:01 pm
Hola,
Gracias por tu respuesta, lo de usar directamente el contenedor no lo puedo hacer, ya q esta en otro mv, el principal en realidad, lo de los tipos de objetos lo entiendo, pero lo que quiero es q cuando timer cuente 3 segundos, me haga desaparecer el contenedor. no entiendo como no puedo llamar esa propiedad desde mi funcion =(

Por venenus

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Nov 2008 04:21 pm
Si tu objeto deriva de un displayObject -o de cualquier Clase que extienda un displayObject: MovieClip, Button...-(como creo que es tu caso) puedes usar root o parent
Si tu objeto no lo fuera, deberías "dispachar un evento"

NOTA:También puedes replantear tu película poniendo el timer en la película principal, que lo que haga sea leer el valor de las variables "clic"s de sus distintos botones y, conforme a eso esconder o no el "contenedor"

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.