Componentes (uiscrollbar)

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Componentes (uiscrollbar) as PDF for free.

More details

  • Words: 834
  • Pages: 3
www.academiainfotec.es

Macromedia Flash

Componentes (UIScrollBar)

En este ejercicio añadirás a la escena un componente UIScrollBar que enlazaremos con un cuadro de texto dinámico, para conseguir un scroll como en el ejercicio anterior, pero en este caso el texto lo cargaremos desde un archivo.

1 1

Pasos a seguir 1. Con la herramienta texto, crea u campo de texto dinámico, multilinea. Opcionalmente puedes seleccionar si el campo es seleccionable y si quieres borde alrededor del texto.

2. Teniendo el campo de texto dinámico seleccionado, ponle el nombre de instancia “texto”. Fíjate en la figura 2.

3. Abre el panel Componentes y arrastra un componente UIScrollBar sobre el campo de texto dinámico. Verás cómo se acopla automáticamente a la derecha del cuadro de texto, tenga el tamaño que tenga.

2 2

4. Selecciona el componente UIScrollBar, abre el panel Propiedades y ponle “barra” como nombre de instancia.

5. Inserta una nueva capa por encima de la actual y añade el código que tienes a continuación en la figura 3.

3 3

6. Prueba la película empleando Control+Entrar o publícala con Control+F12. Fíjate que el final del poema es "=&onLoad?[type Function"; eso no parece un buen final para nuestro poema, esto ocurre porque al usar la función "toString" todo el objeto LoadVars que nosotros cargamos es convertido a texto, asi que tambien es convertida la función que nosotros le asignamos a "onLoad", asi que la forma de solucionarlo es recurriendo a una función del objeto "String" que es el que contiene todos los metodos y propiedades inherentes a las cadenas de texto; para poder usarla, primero tendriamos que asignarle el valor que devuelve "poema_lv.toString();" a un objeto String y luego asignarle el valor devuelto por la función que cortara ese "final" del texto al campo de texto. Para verlo de una manera mas sencilla, veamoslo en código

www.academiainfotec.es

Noten que el final del poema es "=&onLoad?[type Function"; eso no parece un buen final para nuestro poema, esto ocurre porque al usar la función "toString" todo el objeto LoadVars que nosotros cargamos es convertido a texto, asi que tambien es convertida la función que nosotros le asignamos a "onLoad", asi que la forma de solucionarlo es recurriendo a una función del objeto "String" que es el que contiene todos los metodos y propiedades inherentes a las cadenas de texto; para poder usarla, primero tendriamos que asignarle el valor que devuelve "poema_lv.toString();" a un objeto String y luego asignarle el valor devuelto por la función que cortara ese "final" del texto al campo de texto. Para verlo de una manera mas sencilla, veamoslo en código * Creamos al igual que antes, una instancia de la clase "LoadVars" Que la llamaremos "poema_lv" */ var poema_lv:LoadVars = new LoadVars(); //Función que se ejecutara cuando cargue el archivo poema_lv.onLoad = function(exito) { if (exito) { //Creamos un String al estilo de ActionScript 2.0 var poema_str:String = new String(); //La clase LoadVars tiene un metodo llamado "toString" //Que devuelve en formato de texto exactamente lo que cargo //Asi podremos obtener el texto tal como esta en el archivo, //sin formatear. //La función "unescape" pide como parametro un texto con //caracteres unicode "escapados" como el %20 y los cambia por su //equivalente en texto normal (ASCII) es decir // el %20 locambiaria por un espacio, etc! //Por ultimo, asignamos el valor devuelto a la variable "poema_str" poema_str = unescape(poema_lv.toString()); //Aqui usamos un metodo y una propiedad de la clase String para "cortar" //el texto y quitar la función que sobra, esta es la función "substr" //que pide como primer parametro desde donde vamos a cortar, en este caso //desde el inicio, cero; y segundo parametro hasta donde vamos a cortar //para saber hasta donde, le decimos que todos los caracteres (obtenemos //la cantidad exacta de todos los caracteres con la propiedad "length" de //el objeto) menos 24, porque 24 son la cantidad de caracteres que compone //el "feo" final que nos coloca //Por ultimo, asignamos eso al campo de texto "poema_txt" poema_txt.text = poema_str.substr(0, poema_str.length-24); } else { //Si no se cargo, muestra un mensaje de error poema_txt.text = "Error !!!"; } }; poema_lv.load("Poema.txt"); stop();

Ahora, si volvemos a probar la pelicula veremos que ahora carga adecuadamente nuestro poema, pero el codigo es muy largo y no muy adecuado, asi que vamos a apartar en una función todo el codigo que nos permite adecuar el texto cargado, asi que EL CODIGO FINAL DE LA PELICULA quedaria asi:

// Función para arreglar textos cargados mediante LoadVars function arreglarTexto(texto_str:String):String { texto_str = unescape(texto_str);

www.academiainfotec.es return texto_str.substr(0, texto_str.length-24); } /* Creamos al igual que antes, una instancia de la clase "LoadVars" Que la llamaremos "poema_lv" */ var poema_lv:LoadVars = new LoadVars(); //Función que se ejecutara cuando cargue el archivo poema_lv.onLoad = function(exito) { if (exito) { //Le asignamos al campo de texto el texto que fue cargado //Arreglado pro la función declarada arriba "arreglarTexto" poema_txt.text = arreglarTexto(poema_lv.toString()); } else { //Si no se cargo, muestra un mensaje de error poema_txt.text = "Error !!!"; } }; poema_lv.load("Poema.txt"); stop();

Related Documents