LOAD VARS 2

Tal como hacemos con xml haremos con LOADVARS, por ello en el primer frame vamos a crear una instancia del objeto LOADVARS:

c=new LoadVars()

luego crearemos una pequeña función que nos servira para verificar la carga (antes hubieramos tenido que hacer un bucle entre frames) esto se hace porque la carga, el proceso de flash a php y de vuelta a flash NO ES INSTANTÁNEO. Hay un tiempo y si pasamos de frente a un frame sin haber recibido las variables nunca se verán A PESAR DE QUE LAS VARIABLES LLEGARAN AL SWF ...pero tarde. Por ello creamos esta función:

function funciono() {
_root.gotoAndStop(2)
_root.mitexto.htmlText = c.mitexto
}

Esta función nos envia al frame 2 donde esta el campo de texto "mitexto" y aprovechando eso cargamos el contenido de la variable a ese campo de texto. Como el php pasará texto con etiquetas html es preciso que el campo de texto pueda leerlos y por ellos ponemos HTMLTEXT. Ese campo tomará el contenido de la variable llamada "mitexto" de nuestro objeto "c" (que es en si una instancia de LOAD VARS).

Ahora para evitarnos problemas de reconocimiento de texto usaremos la funcion indocumentada (ya ni tanto) USECODEPAGE, muy útil cuando manejamos PHP o ASP.

System.useCodePage=true

Con esto podremos leer texto sin problemas con eñes o tildes.

Ahora pondremos acciones al botón:

on(release){
c.Load("elphp.php")
c.onLoad=funciono
}

simplemente leemos (LOAD) al archivo php y con el método ONLOAD verificamos que si esta leido ajecute la función que creamos en el frame 1. Expliquemos como funciona todo. El php es leido, este php debe pasar un texto al swf, y ¿como se hace? pues bien, veremos esto:

$frase="Flash <b>CARGÓ</b> el archivo exitosamente";
echo "mitexto=$frase";

En el php tenemos una variable llamada "frase" luego de esto usamos un "echo" que iguala mitexto (que viene del swf) con el contenido de "frase". Es necesario usar "echo" o "print" para poder hacer una salida de muestra que flash pueda reconocer, php muestra a flash las variables por medio del "echo". Cuando el php es leído en el swf flash ya sabes que "mitexto" es igual a la variable del php "frase".

Ahora en la función que usamos ONLOAD igualamos el campo de texto del _root: "mitexto" a la variable "mitexto" del objeto "c", es preciso aclarar esto: las variables recogidas del php, son alojadas en el objeto "c" (instancia del objeto LOAD VARS) es decir NO SON PARTE DEL _ROOT sino del objeto "c", por ello debemos igualar el campo de texto del _root a la variable que ha llegado del php y que ya forma parte de "c", como viene con etiquetas html indicamos que el campo de texto del _root puede reconocer esas etiquetas:

_root.mitexto.htmlText = c.mitexto

Ahora lo veo comprensible pero tanto Kadazuro como Yacsha vieron lo bruto que soy para esto :D. Sin ellos este tutorial no hubiera sido posible porque yo no hubiera entendido esto.

Aquí tienen un fla de ejemplo de todo esto.

Manuel Jesús Vejarano::: Derechos Reservados