Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2012, 15:56
mglimas
 
Fecha de Ingreso: mayo-2006
Mensajes: 198
Antigüedad: 17 años, 11 meses
Puntos: 1
remover varios eventos en una sola línea de código

Hola, resulta que tengo varios botones hechos con mc (para poder animarlos) con los cuales cargo distintos mc. El código que utilizo es el siguiente:

Código:
consultoria_btn.addEventListener (MouseEvent.ROLL_OVER, whoOver);
consultoria_btn.addEventListener (MouseEvent.ROLL_OUT, whoOut);
consultoria_btn.addEventListener (MouseEvent.CLICK, whoClick);

function whoOver (event:MouseEvent): void {
   consultoria_btn.gotoAndStop ("rollover");
}
function whoOut (event:MouseEvent): void {
   consultoria_btn.gotoAndPlay ("rollout");
}
function whoClick (event:MouseEvent): void {
	consultoria_btn.removeEventListener (MouseEvent.ROLL_OVER, whoOver);
	consultoria_btn.removeEventListener (MouseEvent.ROLL_OUT, whoOut);
	consultoria_btn.removeEventListener (MouseEvent.CLICK, whoClick);
	consultoria_btn.buttonMode=false;
	institucional_btn.addEventListener (MouseEvent.ROLL_OVER, instiOver);
	institucional_btn.addEventListener (MouseEvent.ROLL_OUT, instiOut);
	institucional_btn.addEventListener (MouseEvent.CLICK, instiClick);
	institucional_btn.buttonMode=true;
	institucional_btn.gotoAndStop ("rollout");
	var consul:flash.display.MovieClip = new consultoría_mc();
	contenedor.addChild(consul);
	consul.x=1.0
	consul.y=0;
}
consultoria_btn.buttonMode=true;

Tengo varias consultas al respecto. Me funciona perfecto pero me queda un código muy largo, que quisiera simplificar. Porque para que el botón se inhabilite una vez que hago click remuevo todas las funciones del mismo y para que se habiliten los demás botones tengo que añadir además las funciones de esos botones. Y así me queda muy largo el código, y cuantos más botones peor.

Hay alguna forma de simplificarlo? Muchas gracias.