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

Desactivar Mouse.addListener ?

Estas en el tema de Desactivar Mouse.addListener ? en el foro de Flash y Actionscript en Foros del Web. Hola Dentro de un mc "miMC" tengo esta funcion que crea un objeto. Código: var mouseListener = new Object(); mouseListener.onMouseWheel = function(delta) { scroll_mc._y -= ...
  #1 (permalink)  
Antiguo 16/06/2008, 04:58
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 12 años
Puntos: 15
Desactivar Mouse.addListener ?

Hola
Dentro de un mc "miMC" tengo esta funcion que crea un objeto.
Código:
var mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
	scroll_mc._y -= delta*10;
	if (scroll_mc._y<0) {
		scroll_mc._y = 0;
	}
	if (scroll_mc._y+scroll_mc._height>Stage.height) {
		scroll_mc._y = Stage.height-scroll_mc._height;
	}
	ease.onEnterFrame = update;
};
Mouse.addListener(mouseListener);
Desde otro lugar de mi flash necesito desactivar el MouseListener para que cuando mueva la rueda del ratón no active aquella funcion

He probado con:(la ruta al mc es correcta)
_parent._parent._parent._parent.miMC.Mouse.removeL istener(mouseListener);

y para activarlo de nuevo:
_parent._parent._parent._parent.miMC.Mouse.addList ener(mouseListener);

pero no me funciona

que estoy haciendo mal?

gracias
  #2 (permalink)  
Antiguo 16/06/2008, 10:41
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Desactivar Mouse.addListener ?

Tienes declarado el listener como global (según veo) así que toda la ruta que usas para desactivarlo sobra. ¿Has probado a quitarla?
Código:
Mouse.removeListener(mouseListener);
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #3 (permalink)  
Antiguo 17/06/2008, 01:36
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 12 años
Puntos: 15
Respuesta: Desactivar Mouse.addListener ?

gracias mahalo.

Lo que sucede es que solo quiero desactivar el Mouse listener para esa funcion porque la necesito para otra funcion.

Como declaro de forma local ?? O sea como cambio esta linea para que esté declarado como local:
Mouse.removeListener(mouseListener);

Otra opcion es ANULAR lo que hace la funcion:
mouseListener.onMouseWheel = function(delta) {
....
}

Se puede anular lo que hace la funcion y luego volver a habilitarla??
  #4 (permalink)  
Antiguo 17/06/2008, 02:25
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Desactivar Mouse.addListener ?

Pero..., ¿se te ha desactivado el listener de esta forma o no?
El objeto Mouse sólo puede tener un listener y por tanto una función asignada. Luego, dentro de esa función puedes hacer lo que quieras. Por ejemplo, si el mouse está encima de un campo de texto, que el wheel haga un scroll de texto; si el mouse está encima de una imagen, que se haga un zoom;...
__________________
Los ignorantes se empeñan en enseñar. Los sabios en aprender.
SourceForge
  #5 (permalink)  
Antiguo 17/06/2008, 04:35
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 12 años
Puntos: 15
Respuesta: Desactivar Mouse.addListener ?

No, no se desactiva.
tengo un sitio flash completo que tiene un scroller general para el sitio (o sea para todo lo que se ve).
Pero luego tengo una galeria de fotos que tiene tiene un efecto de scrolling sobre las miniaturas (un scrolling horizontal)

El tema es que la galeria se desajusta cuando acciono el scroller principal del sitio. Por lo tanto quiero desactivar solo el listener que usa el scroll general pero dejar funcionando el de la galeria.

De lo que me dices entiendo que el objeto Mouse es global. Por eso preguntaba si es mejor opcion solo anular la funcion que usa el scroller general.
Espero que se entienda
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 19:37.