Foros del Web » Creando para Internet » Flash y Actionscript »

problema con eventListener

Estas en el tema de problema con eventListener en el foro de Flash y Actionscript en Foros del Web. hola a todos, soy nueva en este foro y me parece muy bueno, los felicito! aqui esta el problema en AS3: cuando agrego un eventListener ...
  #1 (permalink)  
Antiguo 11/06/2009, 06:43
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 14 años, 11 meses
Puntos: 0
problema con eventListener

hola a todos, soy nueva en este foro y me parece muy bueno, los felicito!
aqui esta el problema en AS3:

cuando agrego un eventListener a un mc como este:

pag.addEventListener(MouseEvent.MOUSE_OVER, onOver);

el evento se repite para todos los mc que estan dentro de este "pag", entonces se genera un conflico, si lo veo con un trace, se repite cada vez que paso por los mcs que estan adentro de "pag".

busque bastante en libros y eso pero no lo he podido resolver...
si alguien sabe que esta pasando, me ayudaria bastante,
saludos!
  #2 (permalink)  
Antiguo 11/06/2009, 11:09
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: problema con eventListener

hola mira es simple si pones pag.addEventListener(MouseEvent.MOUSE_OVER, onOver); conviertes al mc pag en un boton por decirlo de una manera, si quieres que los eventos se inicien al pasar por los mc que contiene , simplemente tiene que ir asi

pag.mc1.addEventListener(MouseEvent.MOUSE_OVER, onOver);
pag.mc2.addEventListener(MouseEvent.MOUSE_OVER, onOver);
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #3 (permalink)  
Antiguo 11/06/2009, 13:09
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con eventListener

Cita:
Iniciado por Lynxcraft Ver Mensaje
hola mira es simple si pones pag.addEventListener(MouseEvent.MOUSE_OVER, onOver); conviertes al mc pag en un boton por decirlo de una manera, si quieres que los eventos se inicien al pasar por los mc que contiene , simplemente tiene que ir asi

pag.mc1.addEventListener(MouseEvent.MOUSE_OVER, onOver);
pag.mc2.addEventListener(MouseEvent.MOUSE_OVER, onOver);
no! quiero lo opuesto... cuando pongo

pag.addEventListener(MouseEvent.MOUSE_OVER, onOver);

el evento se inicia al pasar por los mcs que contiene "pag" sin que yo quiera!
no entiendo porque...parece ilogico pero es asi...tengo que inventar timers y un monton de cosas absurdas para algo tan simple...
  #4 (permalink)  
Antiguo 11/06/2009, 16:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: problema con eventListener

Donde esta lo ilogico? Si agregas un listener a un mc obviamente todo lo que contenga ese mc va a ser objeto del listener tambien. Lo que podrias hacer si queres que eso no pase es armarte tu pag_mc adentro poner un pag1_mc que es el que queres que tenga el mouse over, y los otros mc que no queres que tenga el efecto.
  #5 (permalink)  
Antiguo 11/06/2009, 17:29
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con eventListener

no, eso no sirve porque "pag" es un contenedor, que permite que las pag1, pag2... dentro se muevan en conjunto, como una sola cosa, pero si al pasar el mouse por cada pag1, pag2... llama a ese evento se genera un conflicto...
y ademas cada pag1, pag2...tienen otros clips dentro que tambien disparan el evento...es bastante caotico...

la manera que enconte fue ponerle un timer para contar el tiempo desde que se genera el mouse out, si este es superior a un determinado tiempo...ahi realmente se genera el movimiento... pero igual los metodos se estan llamando...
  #6 (permalink)  
Antiguo 11/06/2009, 22:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: problema con eventListener

Vos decis que si pones esto, cuando pasas el mouse por encima se activa para todo lo que esta adentro, lo cual es bastante logico ya que se lo asignas al contenedor, por ende a todo lo que contiene.
Cita:
pag.addEventListener(MouseEvent.MOUSE_OVER, onOver);
Si vos lo que queres es que se aplique a un solo objeto que este adentro del contenedor podes seguir la solucion que te dio Lynxcraft.

Cita:
pag.pag1.addEventListener(MouseEvent.MOUSE_OVER, onOver);
Si seguimos sin entenderte fijate si podes poner un poco mas de codigo y explica un poco mas la situacion.

Saludos
  #7 (permalink)  
Antiguo 12/06/2009, 05:02
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 14 años, 11 meses
Puntos: 0
Busqueda Respuesta: problema con eventListener

aqui esta el codigo:
contenedor es un mc con varios clips y objetos
sino puedo mandar un mail con el adjunto(aqui no se puede verdad?)
[email protected]
saludos!

import gs.*;
import gs.easing.*;

contenedor.addEventListener(MouseEvent.MOUSE_OVER, onOver);
contenedor.addEventListener(MouseEvent.MOUSE_OUT, onOut);

function onOver(e:MouseEvent):void
{
TweenLite.to(contenedor, 1,{
rotationZ:60,
ease:Bounce.easeOut
});
trace("over");
}

function onOut(e:MouseEvent):void
{
TweenLite.to(contenedor, 1,{
rotationZ:0,
ease:Bounce.easeOut
});
}
  #8 (permalink)  
Antiguo 12/06/2009, 07:30
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: problema con eventListener

vamos a ver XDXD mira no se si esta bien,pero me da que tienes que hacerlo asi suponiendo que tienes mc detro seria asi

Código PHP:

contenedor
.mc1.addEventListener(MouseEvent.MOUSE_OVERonOver);
contenedor.mc1.addEventListener(MouseEvent.MOUSE_OUTonOut);
contenedor.mc2.addEventListener(MouseEvent.MOUSE_OVERonOver);
contenedor.mc2.addEventListener(MouseEvent.MOUSE_OUTonOut);
contenedor.mc_etc.addEventListener(MouseEvent.MOUSE_OVERonOver);
contenedor.mc_etc.addEventListener(MouseEvent.MOUSE_OUTonOut);

function 
onOver(e:MouseEvent):void
{
TweenLite.to(e.currentTarget1,{
rotationZ:60,
ease:Bounce.easeOut
});
trace("over");
}

function 
onOut(e:MouseEvent):void
{
TweenLite.to(e.currentTarget1,{
rotationZ:0,
ease:Bounce.easeOut
});

no se si esto en realidad lo que quieres hacer XDXD pero me lo imagino.. con esto lo que consigues es que solo el mc dentro del contenedor sea al que rote y no el contenedor en si
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #9 (permalink)  
Antiguo 12/06/2009, 09:12
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con eventListener

gracias por intentar! pero no...
en si el codigo que yo puse genera lo que quiero, que el contenedor se mueva con sus clips, el hecho es que sin haber salido del contenedor(mouse out), solo por moverme entre los clips se llaman los rollOvers y rollOuts denuevo para que todo el contenedor se mueva...
asi es que se genera el conflicto...
lo has probado? sera mas facil percibir lo que intento explicar...
saludos!
  #10 (permalink)  
Antiguo 17/06/2009, 01:23
 
Fecha de Ingreso: junio-2009
Ubicación: mexico
Mensajes: 106
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con eventListener

hola! alguien sabe que pasa ??? porfavor...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:22.