He estado mirando por el foro, que la función "eval" en MX2004, no se comporta como por ejemplo con JavaScript.
Para "implementar" la opción de "eval", se utilizan [nombredelavariable].
ejemplo:
Código:
var boton = "boton1"
this[boton].play();
Ahora bien, el problema que me encuentro es al utilizar una función común, por ejemplo, para todos los botones de un mismo trabajo. En este caso necesito crear un "setInterval" para cada uno, pero no me deja trabajar con el sistema "eval". Me explico.
El botón, es un movieClip con un cuadrado que dentro lleva dos mc más, un pequeño preloader animado y otro mc que está vacio, orientado a cargar una imágen jpg.
Cada botón, lleva un nombre de instancia diferente. Ej. boton1, boton2, boton3
Así queria "automatizar" la carga de estas imágenes en los botones.
ejemplo:
Código:
function cargaimgboton(boton,img){
this[boton].preloader.play();
this[boton].container.loadMovie(img);
i1 = setInterval(this, "int1", 30);
int1 = function(){
total = this[boton].container.getBytesTotal();
cargado = this[boton].container.getBytesLoaded();
porcentaje = Math.round(cargado * 100 / total);
if(total == cargado || porcentaje >= 99){
clearInterval(int1);
this[boton].preloader.gotoAndStop(1);
}
}
};
En un punto de la película lo puedo llamar así:
Código:
cargaimgboton("boton1","img1.jpg");
cargaimgboton("boton2","img2.jpg");
...
Es evidente que no llegan a cargar todas las imágnes, ya que "setInterval" es el mismo nombre para todos.
¿Puedo asignarle un nombre a "setInterval", de la misma manera que lo hago con el "eval" para flash?, ¿o simplemente este "[] eval" está orientado a objetos?
No me digan porqué, pero intenté de sustituir el setInterval por onEnterFrame y no funciona. "undefined" es el resultado de las variables "cargado" y "total". Evidentemente "porcentaje" es "NaN".
Saludos y muchas gracias por todo.