15 octubre 2008

Texto dinamico dentro de un boton en flash

Un menu realizado en flash... bien generico nunca biene mal, y mas todavia si desde afuera puedo controlar las etiquetas de los botones y tambien su accion, existen varios metodos para realizarlo.

Desde los mas complejos utilizando MovieClips como botones y LoadVars o XML
hasta el mas simple de todos utilizando loadVariablesNum.

Voy a explicar el mas simple (loadVariablesNum) y luego en el proximo post nos vamos a lo dificil asi queda separado en 2.

Bien, supongamos que tenemos 3 botones ( F8 > Button ), hacemos doble clik sobre cualquiera y ingresamos a las propiedades del boton up, down, over, hit. Nos posicionamos en UP y agregamos una caja de texto dinamico :
Tenemos que tener especial cuidado en destildar la opcion de texto seleccionable de lo contrario perderemos las propiedades del boton.

En colocamos un nombre de instancia como ser "btn1", y como vamos a utilizar el metodo de loadVariables en el campo "Var:" colocaremos nuestro nombre de variable que sera "btn1_txt".

Y por ultimo no olvidemos el boton "Embed" y de seleccionar el conjunto de caracteres que va a contener nuestro texto Numeros, Caracteres Latinos, etc.

Una vez realizado esto quedaria algo asi :


Ahora tocamos F6 tantas veces necesarias para copiar al resto de los estados nuestro texto dinamico ya que se cargara cada vez, un opcional aqui por ejemplo para el estado over, cambiar la variable del texto dinamico y de esta manera podemos cambiar el texto del boton cuando el mouse esta sobre el.

Bueno ahora nos vamos al codigo para hacer que esto funcione, primero que nada vamos a crear nuestro txt que va a contener las variables.

En la misma capeta donde tenemos guardado el proyecto clik con el derecho Nuevo>Documento de texto , de nombre le ponermos algo como "botonera.txt" lo editamos y colocamos:

&btn1_txt=Boton1
&btn1_url=http://www.thefokerworld.blogspot.com

con " & " iniciamos la variable seguido va el nombre que le colocamos a "Var:" en el texto dinamico luego " = " y nuesto dato. Guardamos y listo.

Volvemos al flash nos ponemos en el fotograma 1 y vamos a Actions y empesamos con el script:

<----
System.useCodepage = true; // Para que no tengamos problemas al cargar los caracteres

//Iniciamos una funcion de precarga de nuestro flash, esto es para que cada vez que
//por alguna razon la pagina se actualize vuelva a cargar los datos y no muestre errores.

function cargando() {
var total, cargados;
total = _root.getBytesTotal();
cargados = _root.getBytesLoaded();

if (cargados == total) { //Si se termino de precargar entonces....

loadVariablesNum("botonera.txt", 0); //Mediante loadVariablesNum cargamos nuestro txt
}
}
var hiloPrecarga = setInterval(cargando, 1);
//Es parte de la precarga esto es como un timer que repite la funcion para mantener todo actualizado
stop();


---->

Bueno eso es todo hacemo contol + enter y vamos a ver que nuestro boton va a mostrar en mi caso "Boton1". ahora para darle la accion al boton hacemos click sobre el y nos vamos a Actions
como con cualquier boton colocamos :

<------

on(release) {

getURL(btn1_url,"_self");
//Observen que btn1_url corresponde a la variable en el txt del url y va sin las " "
//Luego el metodo _self para que aparezca en una pagina nueva

}

---->

Entonces ahora si hacemos clik nos llevara a thefokerworld

Espero les sirva de algo
Saludos!
Foker.




No hay comentarios.: