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

Flash 5, XML y loadVariables

Estas en el tema de Flash 5, XML y loadVariables en el foro de Flash y Actionscript en Foros del Web. Hola: tengo un problema con loadVariables. Quizá es el del "encoding" del URL y eso (no creo), pero también quizá puede ser un bug de ...
  #1 (permalink)  
Antiguo 19/05/2002, 10:06
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 15 años, 9 meses
Puntos: 0
Flash 5, XML y loadVariables

Hola:

tengo un problema con loadVariables. Quizá es el del "encoding" del URL y eso (no creo), pero también quizá puede ser un bug de flash 5.

Mi película carga un documento XML, lo procesa y le da salida en un texto dinámico. Probé el código y funciona. El problema es cuando quiero cargar el XML con xml.load() con una variable como argumento (el url del documento xml). Digamos que el documento se llama "1.xml". Si hago xml.load("1.xml"); todo bien; ahora, si hago xml.load(url), no funciona.

La variable "url" la saco con:

loadVariables("texto.txt", _root);

Este txt está generado dinámicamente por PHP. Así, la película carga, de acuerdo a lo que escribió PHP, "1.xml", o "2.xml", etc...
El txt dice:
url=1.xml

Cuando pruebo la película la variable url está bien: el depurador dice url="1.xml". Pero en lugar de cargar ese documento, Flash genera un enorme XML con los datos del directorio del sitio (rarísimo, tardé un montón en darme cuenta...), con entradas del tipo "archivo=tal", "tipodearchivo=tal", "nombre de carpeta" etc...

Probé esto tanto en un hosting de producción (Windows), como en mi máquina local con Win98, PHP4 y Apache. El mismo resultado. Si alguien puede darme una sugerencia o conoce algo de este error raro, por favor me ayude un poco... que ya me está empezando a salir humo de la cabeza :roto:

Saludos, y gracias

Diego (a.k.a SCi-FI)
  #2 (permalink)  
Antiguo 30/05/2002, 08:42
 
Fecha de Ingreso: mayo-2002
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 0
Re: Flash 5, XML y loadVariables

A mí me ocurrió algo parecido una vez. Y al final resultó ser un probrema de sincronización.

Verás, cuando usas la función
Código:
loadVariables(url)
el Flash Player tiene que pedir el fichero "apuntado" por
Código:
url
y, claro, esa petición cuesta un tiempo.

Entonces el problema es que si tú haces:

(1)
Código:
loadVariables("texto.txt", _root);
y a continuación

(2)
Código:
xml.load(url)
puede ocurrir que al llegar a la instrucción 2 el player aún no haya "conseguido" el fichero y, por tanto, la variable
Código:
url
aún no tenga ningún valor asignado.

¿Y cómo cojones se puede arreglar esto? Lo que hice yo fue meter la instrucción 1 en la escena principal y meter el resto de objetos de mi película dentro de un movie clip. Y dentro de esa movie usaba las variables obtenidas.

Luego, en el evento onClipEvent(data) de dicha movie le puse el gotoAndPlay("1") de la movie.

No sé si esta es la solución más elegante pero funciona a las mil maravillas.




Un saludo,

Alberto
  #3 (permalink)  
Antiguo 30/05/2002, 14:30
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 15 años, 9 meses
Puntos: 0
Re: Flash 5, XML y loadVariables

Mil gracias, Alberto, días y días pasé con eso estancado, hasta que cuando ya estaba por abandonar me respondiste. A partir de lo que me dices también encontré un artículo que señala el mismo problema con loadVariables(): <a href='ir.asp?http://alistapart.com/stories/flashbag/' target='_blank'>http://alistapart.com/stories/flashbag/...</a>.

Creo que loadVariables hasta no se puede usar correctamente incluso en el frame siguiente, por lo que parece que en Flash 5 ésa es la única solución, la que me dices de hacer un movieclip...

La verdad es que se me complicaría un poco crear un movieclip aparte para procesar esa variable (además para procesar el xml en Flash 5 hace falta incluir una rutina o script especial (&quot;XMLnitro&quot;) con #include...para que el parser XML de Flash 5 no te considere los saltos de línea del XML como etiquetas o nodos :roto: !) , al fin y al cabo es una sola variable... aunque voy a probar. Quizá no fue la mejor idea combinar el xml con loadvariables, ambos son muy nuevos.

Tal vez si eso no me funciona pase todo &quot;al cliente&quot;, al Flash Player. Como en la película tengo que luego importar otros xml -lo que ya me llevó más que suficiente trabajo-, quizá podría sustituir PHP y base de datos con otro nuevo documento XML conteniendo los links hacia los otros xml. Este nuevo XML se cargaría en la primer Escena, y al click del usuario en digamos el tema &quot;1.xml&quot;, o &quot;2.xml&quot;, etc, pasa a la segunda escena cargando ese xml. Me parece que para interacción con PHP será probablemente mejor esperar a poder tener el Flash MX (requiere de más de 64M de RAM, :( ), que no necesita de XMLnitro y que quizá haya solucionado ese problema de loadVariables con el nuevo objeto LoadVariables.

Saludos, y muchas gracias,

SCi-FI
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 12:20.