Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

URGENTE! Carga de variables desde un txt en ActionScript [+loadMovie]

diego_007

Becerro
Desde
31 Ago 2008
Mensajes
33
Estiamdos todos,
Estoy teniendo un problema que me está enloqueciendo y aun no lo he podido solucionar.
Les cuento cuál sería la IDEA de lo que quiero hacer:
La idea es mostrar una galería de imagenes que pasen (una por vez) de izquierda a derecha en la pantalla; entra desde la izquierda, la muestra unos segundos y sale hacia la derecha. Las imágenes las toma desde una carpeta (ruta relativa) llamada "imagenes" y los nombres de los archivos son: 1.jpg, 2.jpg, 3.jpg, (...) N.jpg. Además allí se encuentra un archivo de texto llamado "img.txt" el cual contiene lo siguiente:
&ruta="imagenes/"&total=10
La idea es que la cantidad de imagenes no sea fija sino que, dependiendo del valor de la variable total que está en el archivo de texto muestre esa cantidad de imágenes.
En el flash tengo un movieclip con nombre de instancia "ban"(que es donde se cargan las imágenes cada vez que pasan) y que hace la animación de entrar por la izquierda y salir por la derecha, entonces lo que quiero lograr es generar un loop en donde cada vez que entre, cargue una imagen diferente teniendo como tope máximo el total mencionado antes.
Lo que tengo de código es esto:
archivo = "imagenes/img.txt";
ext = ".jpg";
cargar = new LoadVars();
cargar.onLoad = function(ok)
{
if(ok)
{
while (i<=total)
cargar.load(archivo);
loadMovie(ruta+i+ext,_root.ban);// que sería lo mismo a: loadMovie("imagenes/1.jpg", _root.ban)
i++;//luego de mostrarla incrementa el valor de i para la prox imagen
};
if(ok&&i>total)
{
gotoAndPlay("loop");//vuelve al fotograma etiquetado "loop" para recomenzar el cliclo
}
};

Alguien me podría ayudar? es urgente!!! lo que más necesito es cargar el valor de las variables del txt y meterlas en el loadMovie, después yo me las arreglo ;)
Nota: lo estoy haciendo con AS 2.0
 
Listo, logré cargar la variable:
_____________________________________
txt:
ruta=banners/&total=5
_____________________________________
ActionScript:
archivo = "banners/data.txt"
i = 1;
ext = ".jpg";
var carga:LoadVars = new LoadVars();
carga.load(archivo);
carga.onLoad = function(exito) {
if (exito) {
if(i<=this.total)
{
loadMovie(this.ruta+i+ext, _root.ban)
}
else
{
gotoAndPlay("loop");//se dirige al fotograma 1 con nombre de instancia "loop"
}
}
};
_____________________________________
Como verán cambié los nombres de las variables y la ruta donde se encuentran los archivos.
El problema que tengo ahora es el siguiente:
La animación la hago con interpolación de movimiento: en el fotograma 2 el movieclip con nombre de instancia "ban" está ubicado fuera del lienzo, desde ahi hasta el fotograma 10 el moviclip entra -> al medio de la pantalla, permanece allí hasta el fotograma 50 y luego sale -> fuera de lienzo a la altura del fotograma 60
Todo esto lo hace con la imagen "1.jpg" cargada en dicho movieclip.
La idea es que luego que haga esto comience nuevamente en el fotograma 2 pero esta vez cargando la imagen "2.jpg" y así sucesivamente; por eso pensaba de hacer un
while (i<=total)
{
loadMovie(ruta+i+ext, _root.ban);
i++;
}
pero cuando lo hago me hace la animación pero solo con la imagen 5, es decir, las carga a todas 1,2,3,4,5 en el fotograma 2 y la animación la hace con la última cargada.
¿Alguna idea para cargar una nueva imagen cada vez que entra en el bucle?
 
Si, pero el usuario no quiere XML ¬¬
Igualmente ahora lo que hice fue utilizar la función random para que, en vez de cargar las imagenes secuencialmente (cosa que no me salía) las cargue de forma aleatoria, momentaneamente es la opción que le encotré...
 
y si no existe una imagen con ese numero?, y si en vez de tener un numero secuencial tuviese un nombre? y si rebota?

Debes preveer todo eso, para eso siempre es mejor un xml o un archivo php que te genere un xml como tal, con todas las imagenes, luego las guardas en un arreglo y las cargas en secuencia, o aleatoriamente, pero todo esto en un frame para que no tengas problemas con el motion tween, generalmente como se hace es por medio de codigo, checate algunos ejemplos, porque el querer cargar una animacion predefinida te puede traer muchos problemas.
 
Volver
Arriba