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

Galeria Flash AS2, XML, PHP y SQL

Estas en el tema de Galeria Flash AS2, XML, PHP y SQL en el foro de Flash y Actionscript en Foros del Web. Buenas, tengo un follón de narices ya que es la primera vez que me meto con Flash y AS2. He estado buscando cosas parecidas o ...
  #1 (permalink)  
Antiguo 14/07/2010, 01:35
 
Fecha de Ingreso: marzo-2009
Mensajes: 42
Antigüedad: 15 años, 7 meses
Puntos: 5
Galeria Flash AS2, XML, PHP y SQL

Buenas, tengo un follón de narices ya que es la primera vez que me meto con Flash y AS2. He estado buscando cosas parecidas o soy muy ciego o no he visto nada similar a lo que me ocurre.

Seguí un tutorial de como importar XML y otro de galeria de imagenes con el movieClipLoader. Hasta aquí más o menos me apañe.

El problema es que el XML es dinámico (es un archivo PHP que se interpreta como XML y carga datos de una base MySQL) y necesito que los containers se vayan creando conforme a la cantidad de childNodes que existan. Lo llevo intentando dios sabe cuantas horas, y siempre se crean unos encima de otros y ahora ya se crean en miniatura y con la imagen a media carga

Aver si me podeis hechar una mano, os dejo los códigos, mil gracias!

Listado de Archivos y Directorios
\Raiz
|-- albumXML.php
|-- albumXML.swf
|--\Proyectos
|-----\Album
|--------\USA
|--------|-- I1276097909wallpaper-32445.jpg
|--------\USAWA
|--------|-- I1276082322Invierno.jpg
|--------|-- I127608083531006.jpg
|--------|-- I127608224031000.jpg
|--------|-- I127608225031040.jpg
|--------|-- I127608227230966.jpg

Contenido Archivo albumXML.php
Código PHP:
<?php
header
('Content-Type: text/xml; charset=ISO-8859-1');
echo 
"<?xml version='1.0' encoding='ISO-8859-1'?".">";
include(
"./conn.inc.php");
$qx="SELECT id,tipo FROM proyectos";
$rx=query($qx,$dbl);
if (
num_rows($rx)>0)
{
  echo 
"<galeria>";
    while (
$rw=fetch_array($rx))
      {
        
$r fetch_array(query("SELECT titulo, url FROM galeria WHERE album = \"".$rw['id']."\" ORDER BY RAND() LIMIT 1",$dbl));
        
$titulo $r['titulo'];
      
$url $r['url'];
      echo 
"<album>";
        echo 
"<titulo><![CDATA[".$titulo."]]></titulo>";
      echo 
"<imagen><![CDATA[".$url."]]></imagen>";
          echo 
"</album>";
      }
  echo 
"</galeria>";
}
?>
Código XML generado por este PHP
Código XML:
Ver original
  1. -<galeria>
  2.   -<album>
  3.       <titulo>Imagen 1</titulo>
  4.       <imagen>./proyectos/album/USAWA/I127608083531006.jpg</imagen>
  5.     </album>
  6.   -<album>
  7.       <titulo>Foto wai</titulo>
  8.       <imagen>./proyectos/album/USA/I1276097909wallpaper-32445.jpg</imagen>
  9.     </album>
  10. </galeria>

albumXML.fla Objetos
- Instancia de Contenedor
http://i25.tinypic.com/33vygeo.jpg

albumXML.fla AS2
Código PHP:
// Declaro el objeto XML
var xml:XML = new XML();
// Permitir usar blancos (OBLIGATORIA)
xml.ignoreWhite true;
xml.load("albumXML.php");
// Funcion que se va a ejecutar cuando se cargue el xml
xml.onLoad = function(exito) {
    
// Variable exito = Si se ha cargado sera true, si no sera false
    
if (exito == true)
    {
        var 
cuantos:Number xml.firstChild.childNodes.length;
        var 
i:Number;
        var 
centroX:Number 100// X del Contenedor para ir desplazando
        
var centroY:Number 50// Y del Contenedor para ir desplazando
        
for (i=0;i<cuantos;i++)
        {
            var 
mi_mcl = new MovieClipLoader();
            
miListener = new Object();
            
miListener.onLoadStart = function(target_mc) {
                
target_mc._visible false;
                
target_mc._xscale 100;
                
target_mc._yscale 100;
            };
            
miListener.onLoadInit = function(target_mc) {
                var 
ancho_maximo 150;
                var 
alto_maximo 150;
                
// Si es más grande de lo permitido entro en en if
                
if (target_mc._width>ancho_maximo || target_mc._height>alto_maximo) {
                    if (
target_mc._width/target_mc._height>1) {
                        
// disposición horizontal
                        
var coef target_mc._width/ancho_maximo;
                    } else {
                        
// disposición vertical
                        
var coef target_mc._height/alto_maximo;
                    }
                    
target_mc._width /= coef;
                    
target_mc._height /= coef;
                }
                
// Cuando ya tenemos un clip con el tamaño adecuado lo situamos centrado en el punto deseado
                
var centro_x centroX;
                
//centroX = centroX + 150;
                
var centro_y centroY;
                
//centroY = centroY + 100;
                
target_mc._x centro_x-target_mc._width*0.5;
                
target_mc._y centro_y-target_mc._height*0.5;
                
// Ahora que el clip se ha cargado, lo tenemos al tamaño correcto y bien posicionado, lo hacemos visible
                
target_mc._visible true;
            };
            
miListener.onLoadError = function(target_mcerrorCode) {
                
trace("ERROR CODE = "+errorCode);
                
trace("Your load failed on movie clip = "+target_mc+"\n");
            };
            
mi_mcl.addListener(miListener);
            var 
ruta xml.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue;
            
mi_mcl.loadClip(rutacontenedor_mc);
        }
        
//texto_mc.text = xml.firstChild.childNodes[1].childNodes[0].firstChild.nodeValue;
    
}
    else
    {
        
trace("Error, no se cargo el xml correctamente");
    }
}
stop(); 
Muchas Gracias!

Me sale esto en Flash:
http://i27.tinypic.com/314vx8g.jpg

Y necesito esto que consegui en PHP:
http://i27.tinypic.com/34q2vz4.jpg

Última edición por Alcalina; 14/07/2010 a las 02:23 Razón: Aver si con un par de imagenes se entiende mejor...
  #2 (permalink)  
Antiguo 26/07/2010, 04:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 42
Antigüedad: 15 años, 7 meses
Puntos: 5
Respuesta: Galeria Flash AS2, XML, PHP y SQL

Bueno, al final lo conseguí cargando un texto como enlace al PHP de la galeria predefinida, pasandole con sendAndLoad una variable global que necesitaba en el php, para generar el xml.

Si alguien necesita ayuda, que me lo diga y subire los ficheros.

Etiquetas: flash, galeria, php, sql, 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 23:50.