Comunidad de diseño web y desarrollo en internet online

No carga la última imagen de una lista

Citar            
MensajeEscrito el 19 Jul 2011 03:43 pm
Hola gente.

Estoy haciendo la carga de una lista de imágenes externas. Estas imágenes se encuentran en la carpeta "imagenes" que se encuentra en el mismo directorio que la película flash.

La lista de imágenes está en un array. el problema es que siempre me carga todas las imágenes menos la última.

el código que tengo es este:

Código :

import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.display.Sprite;

var listaIMG:array = new Array("img_1.jpg","img_2.jpg","img_3.jpg","img_4.jpg","img_5.jpg","img_6.jpg","img_7.jpg");

var imgAncho:uint = 120;
var gap:uint = 20;

var spriteIMG:Sprite;
spriteIMG = new Sprite();
spriteIMG.y = 20;

   for (var i:uint = 0; i<listaIMG.length; i++) {
      var img:URLRequest = new URLRequest("imagenes/"+listaIMG[i]);
      var imgCarga:Loader = new Loader();
      imgCarga.load (img);
      imgCarga.x = gap + (i * (imgAncho + gap));
      spriteIMG.addChild (imgCarga);
      trace ("cargado índice "+i+" Imagen: "+listaIMG[i]);
   }
addChild (spriteIMG);

Como véis, lo que hago es cargar las imágenes dentro de un sprite y luego añado ese sprite a la pantalla. el problema es que, aunque el trace me dice que he cargado todas las imágenes, la última siempre se queda sin cargar. Si en el array tengo 7 imagenes, la 7ª no se llega a ver en pantalla; si tengo 5, la 5ª es la que no se ve.

Lo que sí ocurre (y no sé por qué) es que al hacer la prueba del swf dentro del flash (crtl+intro) me da el siguiente error en la pantalla de salida:

SecurityError: Error #2000: No hay ningún contexto de seguridad activo.

Creo que este es el problema por el que siempre falla la última imagen, pero no sé cómo arreglarlo.

Trabajo en AS3 con flash cs5.5

¿podéis ayudarme?

gracias

Por CidDeMizar

81 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jul 2011 04:03 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Jul 2011 06:39 am
Tenfo bien separado el loader del URLRequest. Sigue sin fincionar. He probado a cambiar los nombres de las variables por si acaso se le estaban atragantando, pero nada. Estoy buscando por internet y veo que no es un caso aislado. He encontrado un caso en el que alguien, al igual que yo, tenía una galería de imágenes funcionando y, de la noche a la mañana, ha dejado de cargar imágenes. Por lo que he entendido, al recompilar su aplicación le ha empezado a dar el mismo error que a mí.

He probado todas las soluciones que he visto y no me funciona nada.

A ver si me podéis arrojar un poco de luz.

Gracias

Por CidDeMizar

81 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jul 2011 07:50 am
He encontrado el problema. Básicamente era porque encontraba algún error en el nombre del fichero a cargar (aunque tiene truco la cosa). Explicaros el por qué es un poco largo, así que tened paciencia, porque puede que sirva de ayuda a otros que se estén volviendo locos con errores que parecen no tener una explicación lógica.

Tened en cuenta que solía programar en AS2 y ahora estoy haciendo la migración a AS3.

El tema comienza con la forma de trabajar que tengo: intento hacer flashes "plantilla" fácilmente modificables por gente sin conocimientos de programación. Estos flashes se suelen alimentar de ficheros txt externos que también modifican personas sin conocimientos informáticos.

los txt suelen tener esta apariencia:

Código :

//////////////////////////
// CONFIGURACIÓN BÁSICA //
//////////////////////////

&velocidad=120&
&avisoVel=&Cuidadín que te la pegas!&

////////////////////
// DATOS DE INICIO //
///////////////////

&tipoCarretera=autovía&
&tipoVehiculo=automóvil&

Los que estéis acostumbrados a usar txt externos veréis que este formato no es muy ortodoxo, ya que las variables deberían estar unidas por sólo un "&" y estar todas en una misma línea de código larguííísima.

Entenderéis que este formato lo puede modificar cualquier persona aunque no tenga conocimientos de flash ni de programación.

Si utilizara el formato ortodoxo, una persona sin conocimientos se perdería a la primera.

¿A qué ha venido este rollo? Pues a que el error de seguridad que me daba la compilación de mi película esra debido a esto. Yo cargaba el nombre de las imágenes y otras variables desde un txt con este formato:

Código :

imagenes=img_1.jpg,img_2.jpg,img_3.jpg,img_4.jpg,img_5.jpg,img_6.jpg,img_7.jpg

&variable2=hola

&variable3=adios


Ahí estaba mi problema: el nombre del último item de "imagenes" no era "img_7.jpg", sino "img_7.jpg" más el retorno de carro. Al tener ese error en el nombre, el compilador me daba el error de seguridad que os he comentado, ya que, por lo que he visto en internet, ese error de compilación aparece también cuando la ruta del elemento externo a cargar no es válido.

Así que, gente, ya sabéis: si estáis emponzoñados con vicios raros como yo, no os queda más remedio que desintoxicaros.

Gracias a todos por vuestra ayuda y paciencia.

Por CidDeMizar

81 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Ene 2012 12:57 pm
Es cierto, este error me suele aparecer si olvido algun espacio o el mas minimo elemento en el string de rutas url de los URLLoader por poner nombrar algun ejemplo. PARECE OBVIO pero SIEMPRE que uno ponga algo que no va, las osas no funcionaran, pero hay cosas como caracteres o signos quizas invisibles de momento que a simple vista que parecen que no traeran problema y lo traen. Y el error Error #2044: ioError no controlado: text=Error #2032: Error de secuencia. URL: file: etc etc, es porque el swf esta pidiendo en el mismo instante la carga de varios xml a la vez. Lo ideal seria que CREAR una funcion para cargaren el momento que sea necesario y no cargar todo de golpe en un swf que contenga varias galerias con xml por poner un ejemplo.COMPROBADO.
Saludos.

Por cutepizarro

95 de clabLevel

1 tutorial

Genero:Masculino  

Programador PHP-MYSQL-FLASH-ZINC

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.