Les traigo un método que tengo para trabajar a la hora de crear muchos botones, sin tener que crear muchas funciones para diferentes tipos de eventos del mouse, este tip esta hecho para As3, pero más que nada lo importante es la lógica a la hora de programar y podría ser aplicada a otros lenguajes.
Si tienen un solo botón, es tan simple como "copiar y pegar" el código y hacer una sola llamada al inicio:
Código :
activoBoton(miBoton); //...
Acá el código:
Código :
function activoBoton(mc:MovieClip):void { mc.buttonMode = true; mc.mouseChildren = false; mc.addEventListener(MouseEvent.MOUSE_OVER,appBoton); mc.addEventListener(MouseEvent.MOUSE_OUT,appBoton); mc.addEventListener(MouseEvent.MOUSE_DOWN,appBoton); } function appBoton(e:Event):void { switch (e.type) { case "mouseOver" : trace("mouseOver"); break; case "mouseOut" : trace("mouseOut"); break; case "mouseDown" : trace("mouseDown"); break; } }
Y si tienen muchos botones en el escenario con nombres de instancia de manera ascendente como b0,b1,b2,b3,b4,b5....
Ponen este código al inicio y lo modifican según sus necesidades:
Código :
init(); function init():void { var totalBotones:Number = 7; for (var i:Number = 0; i<totalBotones; i++) { var boton:MovieClip = MovieClip(this["b" + i]); activoBoton(boton); } } //...
Espero sea de aporte, si algunos necesitan una explicacion mas detallada del porqué funciona así, pues me avisan y responderé a las dudas.
Slds.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por UChLab el 30 de Septiembre de 2011
A veces utilizamos construcciones mas complejas de lo necesario porque parecen mas "avanzadas" cuando en realidad no aportan gran cosa.
La otra parte, la de encapsular la asignación de los handlers en una función, si representa una buena práctica.
Te recomiendo (a todos) el libro Clean Code de Robert C. Martin, uno de los padres del manifiesto Agile.
PD Este comentario lo hago intentando ser del todo constructivo y sin animo de ofender, solo de crear un poco de debate sobre buenas prácticas.
Por louiser el 30 de Septiembre de 2011
Muy buen consejo,
Por UCHLab el 02 de Octubre de 2011