25/05/2007, 19:21
|
| | | Fecha de Ingreso: febrero-2007 Ubicación: En la red
Mensajes: 232
Antigüedad: 17 años, 9 meses Puntos: 0 | |
Re: Flash + XML Hola TMeister. El código que uso es este.
Código:
coches = new XML();
coches.ignoreWhite = true;
coches.onLoad = function(ok) {
if (ok) {
//procesar datos
//Familiares
familiares = this.firstChild.firstChild.firstChild.childNodes;
for (i=0; i<familiares.length; i++) {
var nuevoProyecto = filaFamiliares.attachMovie('MC_template', 'coche'+i, i);
var distanciaFotos = 89;
nuevoProyecto._x = i*distanciaFotos;
nuevoProyecto.marca.text = familiares[i].attributes.marca;
nuevoProyecto.imagen.thumb.imagename = familiares[i].attributes.thumbnail;
nuevoProyecto.imagen.thumb.imgBlank.loadMovie('imagenes/thumbs/'+familiares[i].attributes.thumbnail);
filaFamiliares._x = 512;
filaFamiliares._y = 44;
}
//Deportivos
deportivos = this.firstChild.firstChild.firstChild.nextSibling.childNodes;
for (i=0; i<deportivos.length; i++) {
var nuevoProyecto = filaDeportivos.attachMovie('MC_template', 'coche'+i, i);
var distanciaFotos = 89;
nuevoProyecto._x = i*distanciaFotos;
nuevoProyecto.marca.text = deportivos[i].attributes.marca;
nuevoProyecto.imagen.thumb.imagename = deportivos[i].attributes.thumbnail;
nuevoProyecto.imagen.thumb.imgBlank.loadMovie('imagenes/thumbs/'+deportivos[i].attributes.thumbnail);
filaDeportivos._x = 512;
filaDeportivos._y = 142;
}
//Berlinas
berlinas = this.firstChild.firstChild.firstChild.nextSibling.nextSibling.childNodes;
for (i=0; i<berlinas.length; i++) {
var nuevoProyecto = filaBerlinas.attachMovie('MC_template', 'coche'+i, i);
var distanciaFotos = 89;
nuevoProyecto._x = i*distanciaFotos;
nuevoProyecto.marca.text = berlinas[i].attributes.marca;
nuevoProyecto.imagen.thumb.imagename = berlinas[i].attributes.thumbnail;
nuevoProyecto.imagen.thumb.imgBlank.loadMovie('imagenes/thumbs/'+berlinas[i].attributes.thumbnail);
filaBerlinas._x = 512;
filaBerlinas._y = 240;
}
//Compactos
compactos = this.firstChild.firstChild.firstChild.nextSibling.nextSibling.nextSibling.childNodes;
for (i=0; i<compactos.length; i++) {
var nuevoProyecto = filaCompactos.attachMovie('MC_template', 'coche'+i, i);
var distanciaFotos = 89;
nuevoProyecto._x = i*distanciaFotos;
nuevoProyecto.marca.text = compactos[i].attributes.marca;
nuevoProyecto.imagen.thumb.imagename = compactos[i].attributes.thumbnail;
nuevoProyecto.imagen.thumb.imgBlank.loadMovie('imagenes/thumbs/'+compactos[i].attributes.thumbnail);
filaCompactos._x = 512;
filaCompactos._y = 338;
}
//Todoterrenos
todoterrenos = this.firstChild.firstChild.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.childNodes;
for (i=0; i<todoterrenos.length; i++) {
var nuevoProyecto = filaTodoterrenos.attachMovie('MC_template', 'coche'+i, i);
var distanciaFotos = 89;
nuevoProyecto._x = i*distanciaFotos;
nuevoProyecto.marca.text = todoterrenos[i].attributes.marca;
nuevoProyecto.imagen.thumb.imagename = todoterrenos[i].attributes.thumbnail;
nuevoProyecto.imagen.thumb.imgBlank.loadMovie('imagenes/thumbs/'+todoterrenos[i].attributes.thumbnail);
filaTodoterrenos._x = 512;
filaTodoterrenos._y = 436;
}
} else {
trace('Fallo en la carga');
}
// end if
};//end function
coches.load('coches.xml');
//Máscaras Filas
var mascara_filaFamiliares:MovieClip = this.createEmptyMovieClip("mascara_filaFamiliares", this.getNextHighestDepth());
with (mascara_filaFamiliares) {
_x = 329;
_y = 8;
beginFill(0x00000, 100);
moveTo(0, 0);
lineTo(519, 0);
lineTo(519, 98);
lineTo(0, 98);
lineTo(0, 0);
}
filaFamiliares.setMask(mascara_filaFamiliares);
var mascara_filaDeportivos:MovieClip = this.createEmptyMovieClip("mascara_filaDeportivos", this.getNextHighestDepth());
with (mascara_filaDeportivos) {
_x = 329;
_y = 106;
beginFill(0x00000, 100);
moveTo(0, 0);
lineTo(519, 0);
lineTo(519, 98);
lineTo(0, 98);
lineTo(0, 0);
}
filaDeportivos.setMask(mascara_filaDeportivos);
var mascara_filaBerlinas:MovieClip = this.createEmptyMovieClip("mascara_filaBerlinas", this.getNextHighestDepth());
with (mascara_filaBerlinas) {
_x = 329;
_y = 207;
beginFill(0x00000, 100);
moveTo(0, 0);
lineTo(519, 0);
lineTo(519, 98);
lineTo(0, 98);
lineTo(0, 0);
}
filaBerlinas.setMask(mascara_filaBerlinas);
var mascara_filaCompactos:MovieClip = this.createEmptyMovieClip("mascara_filaCompactos", this.getNextHighestDepth());
with (mascara_filaCompactos) {
_x = 329;
_y = 302;
beginFill(0x00000, 100);
moveTo(0, 0);
lineTo(519, 0);
lineTo(519, 98);
lineTo(0, 98);
lineTo(0, 0);
}
filaCompactos.setMask(mascara_filaCompactos);
var mascara_filaTodoterrenos:MovieClip = this.createEmptyMovieClip("mascara_filaTodoterrenos", this.getNextHighestDepth());
with (mascara_filaTodoterrenos) {
_x = 329;
_y = 401;
beginFill(0x00000, 100);
moveTo(0, 0);
lineTo(519, 0);
lineTo(519, 98);
lineTo(0, 98);
lineTo(0, 0);
}
filaTodoterrenos.setMask(mascara_filaTodoterrenos);
Dejo un enlace con el .fla y los archivos necesarios (imagenes, xml, etc..) por si alguien quiere ver la galería y me ayuda a resolver el problema. La galería está muy chula y si la acabo la voy a colgar como tutorial... Amm, en el archivo para bajar hay un tambien un componente wapisimo para hacer scrolls dinamicos con easing d lo que sea solo con arrastrar al clip q kieres scrolear. Es necesario para exportar la pelicula y que funcionen los scrolls.
Bien, pues eso, una ayudita por favor, que esto lo llevo atrancado un tiempo. Que podría hacer para q se carguen los detalles de cada coche en el MC: ("Ficha_Detalles"). Como hacer que flash sepa que nodo del xml debe leer para cada coche y se carguen por ejemplo los datos del Ferrari? Como habreis visto se genera un boton sobre cada coche.
Aquí está toda la galería para descargar [1,3mb](solo tiene unos pocos coches para probar) http://www.mytempdir.com/1338487
Muchas Gracias
Última edición por Jowy; 25/05/2007 a las 21:40 |