Foros del Web » Creando para Internet » Flash y Actionscript »

Ayuda con cargador XML

Estas en el tema de Ayuda con cargador XML en el foro de Flash y Actionscript en Foros del Web. Un saludo tengan todos, soy algo novato, por no decir 100% novato en esto del AS y el flash, pero ahi vamos XD A duras ...
  #1 (permalink)  
Antiguo 13/08/2010, 16:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 26
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Ayuda con cargador XML

Un saludo tengan todos, soy algo novato, por no decir 100% novato en esto del AS y el flash, pero ahi vamos XD

A duras penas he estado haciendo un sitio, el cual me he ayudado de muchos recursos en internet.

Uno de ellos es el cargador XML, el cual no comprendo bien todabia como funciona.

Tengo un menu en FLASH y en ese menu hay una seccion que cambia de imagen, segun los datos del XML, pero a veces funciona y a veces no, o derrepente se detiene y luego continua.

Lo que quiero lograr es que leyendo un XML muestre las imagenes 1 por 1, dandole un tiempo determinado, para que el usuario la vea y asi sucecivamente.

El xml lo genero con PHP el cual lee los datos de una Base de datos la cual es alimentada por la persona que actualiza contenidos ( carga las imagenes ).


Lo logrado hasta el momento:

Mostrar las imagenes leyendo las rutas de las mismas por miedio de XML, el cual no funciona del todo.
Tambien recibo un ID de la imagen, que esta junto en el XML, la cual modifica una variable que esta en un boton, en el flash, para que al momento de dar click, mostrara la imagen en grande segun el ID.


El codigo....


System.useCodepage = true;
XML.prototype.ignoreWhite = true;

datos_xml = new XML();
var ID:Number;

datos_xml.onLoad = cargarDatos;
// Definimos el array donde almacenaremos los datos
eventos_array = new Array();

function cargarDatos(exito) {
// si el xml se ha cargado bien...
if (exito) {
cont = this.firstChild.childNodes.length;
eventosCargados = this.firstChild.childNodes;
for (var k = 0; eventosCargados[k]; k++) {
pasar_a_array(eventosCargados[k]);
}
// una vez convertidos los datos, eliminamos
// los objetos que ya no vamos a necesitar, así
// liberamos memoria
delete eventosCargados;
delete datos_xml;
// muestro las imagenes
verEventos();

} else {
// si no se a cargado bien...
// aquí las sentencias en caso de error
// durante la carga
trace("fallo en la carga archivo XML");
}
}
// esta función es la que va ha convertir cada nodo en un objeto con propiedades
// más fácil de controlar. Se invoca desde la función cargarDatos dentro del for
function pasar_a_array(nodo) {
// defino el objeto
var objetoEvento = new Object();

// atributos->matriz de atributos del nodo
var atributos = nodo.attributes;
objetoEvento.ruta = atributos.ruta;
objetoEvento.id = Number(atributos.id);

// finalmente, añado el objeto al array
eventos_array.push(objetoEvento);
}
// función que escribe la lista de Imagenes dentro del MC.
// Se invoca desde la función cargarDatos
function verEventos() {

var rutas = eventos_array[i].ruta;
var ID = eventos_array[i].id;
this.contenedor.loadMovie(rutas);

}
datos_xml.load("eventos.xml");




Con eso logro que se muestren las imagenes, y para darle un tiempo determinado antes de mostrar la siguiente dejo correr N fotogramas y al final tengo el siguiente codigo


i = Number(i)+1;


if (Number(i)>= cont) {
gotoAndPlay (1);
}
else {
// sino...
gotoAndPlay (2);
// que vaya al frame 2
}



NOTA en el frame 1 solo tengo la variable i=0;

Etiquetas: cargador, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:11.