ActionScript - Galeria dinámica de fotos en ActionScript 3

 
Vista:
Imágen de perfil de Albert Martí

Galeria dinámica de fotos en ActionScript 3

Publicado por Albert Martí (1 intervención) el 30/11/2011 15:22:58
Tengo una web que realicé para uso personal, a modo de aprendizaje en el diseño de páginas web, que muestra un menú con una lista de personas, en base al contenido de una tabla de MySQL ala cual accedo con PHP.
Todas las personas realizan un enlace con la página "foto.php" pasándole el nombre de la persona como parámetro. Esta página accede a MySQL, obtiene los datos de la persona, entre ellos el nombre del archivo de su foto, y muestra la información en la pantalla. Obviamente, si se selecciona otra persona, muestra los datos de la otra.

Recientemente ví un curso online donde explicaba cómo generar una galería dinámica de fotos haciendo uso de XML y Flash con ActionScript 3.0, lo cual me hizo pensar en que podía mejorar mi página añadiendo esta opción. El proceso en ActionScript lo que hace es leer un XML con la lista de fotos y muestra la primera, con dos botones para avanzar o retroceder.

Lo que yo he hecho en "foto.php" es acceder a la carpeta que contiene las fotos del usuario recibido como parámetro (tengo una tabla MySQL que indica el nombre de cada carpeta) y genero un archivo XML (con PHP), realizando la llamada a continuación al SWF.

La primera vez que selecciono una persona, todo funciona correctamente, Aparecen sus datos, su primera foto y permite avanzar o retroceder.

El problema es que, al seleccionar otra persona, cambian todos los datos excepto las fotos, se mantienen las de la primera persona. He comprobado que el archivo XML se ha actualizado con la nueva lista de fotos y también he comprobado que cada vez que salgo de Internet Explorer y vuelvo a entrar, sucede lo mismo (eso sí, si la primera persona es otra, me salen sus fotos).

Como novato en el tema, no entiendo muy bien que está pasando, da la sensación de que ActionScript no carga el nuevo XML y sigue haciendo uso de los cargado en el paso anterior. Es como si falta inicializar algo. El curso audivisual lo realizaba todo desde Flash, simplemente cambiaban a mano el XML y volvían a ejecutar el SWF, lo que no hacían era realizar la llamada desde un PHP o HTML.

Agradecería mucho que alguien me pudiera iluminar.

Gracias anticipadas a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Galeria dinámica de fotos en ActionScript 3

Publicado por Alejandro (369 intervenciones) el 27/06/2023 20:34:22
El problema que estás experimentando parece estar relacionado con la caché del archivo XML en ActionScript. ActionScript puede almacenar en caché los recursos cargados previamente para mejorar el rendimiento, lo que puede causar que no se actualicen los datos cuando cambias de persona en tu página.

Para solucionar esto, puedes intentar agregar una cadena de consulta única al URL del archivo XML cada vez que se carga. Esto obligará a ActionScript a cargar el archivo XML nuevamente en lugar de usar una versión en caché.

Aquí tienes los pasos que puedes seguir:

1. En tu archivo PHP que genera el archivo XML, agrega una cadena de consulta única al URL del archivo XML. Puedes hacer esto agregando un parámetro adicional a la URL con un valor que cambie cada vez que se genera un nuevo XML. Por ejemplo:
1
$xmlUrl = "ruta/al/archivo.xml?timestamp=" . time();
Esto agregará un parámetro de consulta "timestamp" con el valor actual de tiempo, lo que garantizará que el URL sea único cada vez que se carga el archivo XML.

2. En tu código ActionScript, asegúrate de utilizar el URL del archivo XML con la cadena de consulta única. Puedes hacerlo configurando la propiedad "source" de tu objeto XML para que apunte al nuevo URL generado en PHP. Por ejemplo:
1
2
var xmlUrl:String = "ruta/al/archivo.xml?timestamp=" + new Date().getTime();
miXML.source = xmlUrl;
Esto actualizará el URL del archivo XML cada vez que se carga la página, evitando la carga desde la caché.

Al agregar la cadena de consulta única al URL del archivo XML, deberías resolver el problema de carga de las nuevas fotos en tu galería dinámica. Ahora deberías ver las fotos actualizadas cada vez que cambias de persona en tu página.

Espero que esta solución te sea útil. ¡Buena suerte con tu proyecto de aprendizaje web!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar