Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2010, 15:46
limonrojo
 
Fecha de Ingreso: agosto-2010
Mensajes: 8
Antigüedad: 14 años, 4 meses
Puntos: 1
Pregunta Crear funciones dinámicamente con for() en AS2

Buenas tardes a todos,
hace tiempo estoy con este tema y la verdad aun no lo puedo resolver.
Puntualmente necesito crear funciones de forma dinámica es decir que a través de la función for pueda generar distintas funciones, en este caso para aplicarlas a botones.

El código que he generado es el siguiente:
Código:
for(i=1; i<10;i++){
	_root.attachMovie("mcBtnBase", "boton"+i, this.getNextHighestDepth());
	_root["boton"+i]._x = 10+i*40;
	_root["boton"+i]._y = 10+i*40;
	_root["boton"+i].texto.text = "Boton "+i;
	
	this["funcBtn"+i] = function(){
		getURL("http://www.google.com/"+i);
	}
	
	this["boton"+i].onRelease = this["funcBtn"+i];
}
He puesto un link en google que en realidad es solo de prueba. La idea es que cada botón ejecute, al ser presionado, la función getURL que va variando de acuerdo a la suma reiterada de la variable "i".
En este caso:
http://www.google.com/1,
http://www.google.com/2,
http://www.google.com/3
...
...
http://www.google.com/10

La cuestión es que este código genera una única funcion para todos los botones. Todos terminan redirigiendo a la última instancia de la reiteración, es decir:
http://www.google.com/10

A todo esto, como dije antes, el getURL es solo una prueba, la intención es que estos ejecuten funciones más complejas. La programación de dichas funciones no es lo que me complica, sino su posibilidad de que se realicen automáticamente.

Me surge la pregunta si debería usar "programación orientada a objetos", que por lo poco que he leido sobre el tema, quizas sea la forma de solucionarlo. Lo cual sería pésimo para mi porque, no entiendo un comino de dicho paradigma.

Muchas gracias de antemano!
Saludos