estoy intentando crear una botonera que lee desde xml las características de cada botón (nombre, tooltip, aspecto en reposo, activo y presionado, posición x, posición y y acción del botón). Éste es mi código para la función que crea la botonera hasta el momento:
Código :
private function initToolbar(toolbarData:XMLList):void {
var xPosition:Number;
var yPosition:Number;
var upButton:String;
var overButton:String;
var downButton:String;
var name:String;
var buttonList:Array = new Array();
var myButton:SimpleButton;
// Crear la botonera (contenedor para los botones)
toolBar = new Sprite();
addChild(toolBar);
for (var i:String in toolbarData.button) {
// Obtener los datos del xml
xPosition = toolbarData.button[i].x;
yPosition = toolbarData.button[i].y;
upButton = toolbarData.button[i].normalimg;
overButton = toolbarData.button[i].overimg;
downButton = toolbarData.button[i].downimg;
name = toolbarData.button[i].name;
action = toolbarData.button[i].action;
// Crear el botón
myButton = createButton(xPosition, yPosition, upButton, overButton, downButton);
buttonList[name] = myButton;
// Añadir evento
buttonList[name].addEventListener(MouseEvent.MOUSE_UP, manageButtonAction);
}
}En este caso, la función que se ejecuta en MOUSE_UP es manageButtonAction para todos los botones. Pero lo que yo quiero es que se ejecute la función indicada por la variable action, que puede tomar valores "up()", "down()", "left()", "top()", "fullscreen()".
La idea es poder pasarle directamente al EventListener el nombre de esas funciones (no me deja hacerlo así, me da error: Error de conversión forzada: no se puede convertir "left()" en Function) o que, efectivamente, se ejecute la funcion manageButtonAction, pero que pueda enviarle un parametro especificando que funcion quiero que se ejecute.
Espero haberme explicado bien, aunque puede que no haya quedado bien clara la duda porque para mi as3 es todavía bastante lioso. Si creeis que hay algo que debo explicar mejor, por favor, decidmelo.
Gracias y un saludo.
