Comunidad de diseño web y desarrollo en internet online

aplicar misma función a varios botones

Citar            
MensajeEscrito el 25 Nov 2012 04:17 am
Hola! Necesito saber como puedo simplificar este código. Acá puse de ej. solo 3 botones pero son muchos más!
Desde ya mil gracias a quien pueda darme una mano !!





var str_0001:Str_0001=new Str_0001()

btnStraples_0001.addEventListener(MouseEvent.CLICK,ponerStraples_0001);
function ponerStraples_0001(event:MouseEvent):void {
while (eve.holderStraples.numChildren >0)
eve.holderStraples.removeChildAt(0);
eve.holderStraples.addChild(str_0001);

}

var str_0002:Str_0002=new Str_0002()

btnStraples_0002.addEventListener(MouseEvent.CLICK,ponerStraples_0002);
function ponerStraples_0002(event:MouseEvent):void {
while (eve.holderStraples.numChildren >0)
eve.holderStraples.removeChildAt(0);
eve.holderStraples.addChild(str_0002);

}


var straples_0003:Straples_0003=new Straples_0003()

btnStraples_0003.addEventListener(MouseEvent.CLICK,ponerStraples_0003);
function ponerStraples_0003(event:MouseEvent):void {
while (eve.holderStraples.numChildren >0)
eve.holderStraples.removeChildAt(0);
eve.holderStraples.addChild(straples_0003);

}

Por gopoja

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Nov 2012 12:44 pm
Un truco que suelo usar es ponerle un nombre específico al botón y tomar de ahí la info, en tu caso los nombres de los botones sirven, entonces la función haría

Código ActionScript :

import flash.utils.getDefinitionByName

function ponerStraples(event:MouseEvent):void {
  var nr:String = evt.target.name.substr(9)
  trace("Obteniendo Straples_"+nr)
  var ClassReference:Class = getDefinitionByName("Straples_"+nr) as Class;
  var target:MovieClip= new ClassReference() as MovieClip;
  while (eve.holderStraples.numChildren >0) eve.holderStraples.removeChildAt(0);
   eve.holderStraples.addChild(target)
}


Aquí no solo agregas el elemento, sino que ademas lo instancias usando getDefinitionByName. Pongo el trace por si no conté bien y hay que modificar el indice de substr
Con un loop tambien te ahorras agregar los eventListeners uno a uno a los botones

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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