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:
cada funcion tienen varibles y funciones distintas...pero su nombre cambian en solo un numero.function fabrica1() {
_root.ladrillo1 = 100;
construir1();
}
function fabrica2() {
_root.ladrillo2 = 100;
construir2();
}
function fabrica3() {
_root.ladrillo3 = 100;
construir3();
}
etc...
etc...
_root.ladrillo1 = 100;
construir1();
}
function fabrica2() {
_root.ladrillo2 = 100;
construir2();
}
function fabrica3() {
_root.ladrillo3 = 100;
construir3();
}
etc...
etc...
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:
Esto me estaria reemplazando las 100 funcionesfunction fabrica(k) {
_root["ladrillo"+k] = 100;
_root["construir"+k+"()"];
trace(_root["ladrillo"+k]);
}
_root["ladrillo"+k] = 100;
_root["construir"+k+"()"];
trace(_root["ladrillo"+k]);
}
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:
paso un argumento dentro de funcion, la variable me la toma sin problemas ( _root.ladrillo3 = 100) pero la funcion (construir3();) no se ejecuta .-------
-------
fabrica(3)
-------
------
-------
fabrica(3)
-------
------
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);
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.- ;)