Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/08/2009, 16:55
bigolan
 
Fecha de Ingreso: julio-2007
Mensajes: 6
Antigüedad: 17 años, 4 meses
Puntos: 0
Una funcion de funciones

hola , creo que este es el foro mas activo sobre flash que existe me parece...

bueno, voy a exponer el codigo primero

tengo 100 funciones se este tipo muy parecidas

(las funciones construir1(),construir2(),construir3()...ya estan definidas y eso no tiene problemas.)


Cita:
function fabrica1() {
_root.ladrillo1 = 100;
construir1();
}
function fabrica2() {
_root.ladrillo2 = 100;
construir2();
}
function fabrica3() {
_root.ladrillo3 = 100;
construir3();
}
etc...
etc...
cada funcion tienen varibles y funciones distintas...pero su nombre cambian en solo un numero.

Estas funciones las llamo en distintos puntos de mi rutina.

ahora para no escribir esas 100 funciones ( que aca estan dimplificadas, pues cda una tiene casi 30 lineas)

trate de hacer lo sguiente:

Cita:
function fabrica(k) {
_root["ladrillo"+k] = 100;
_root["construir"+k+"()"];
trace(_root["ladrillo"+k]);

}
Esto me estaria reemplazando las 100 funciones

arrancando un ejemplo: sefiniendo la funcion construir3() asi simplemente

function construir3() {
trace("esta es la funcion construir 3 ");
}

luego la llamo la funcion fabrica 3 :



Cita:
-------
-------
fabrica(3)
-------
------
paso un argumento dentro de funcion, la variable me la toma sin problemas ( _root.ladrillo3 = 100) pero la funcion (construir3();) no se ejecuta .

el codigo no reporta errores.

En resumen el codigo de ejemplo completo:
Cita:
function construir3() {
trace("esta es la funcion construir tres ");
}
function fabrica(k) {
_root["ladrillo"+k] = 100;
_root["construir"+k+"()"];
trace(_root["ladrillo"+k]);
}

fabrica(3);


Agradeceria su ayuda,
saludos.- ;)

Última edición por bigolan; 30/08/2009 a las 17:20