CAPTURA E IMPRESION DE TEXTOS
Bien en este ej. veremos como capturan textos de un inputText y mostrarlos en un nuevo frame, primero que nada vamos a crear el entorno gráfico. En mi caso va a quedar algo así:
Los rectángulos en blanco son campos de texto del tipo inputText al los que llamaremos nombre_txt, edad_txt, hoby_txt, el mc verde con la palabra send va a ser nuestro botón y lo llamaremos send_btn. Debajo de los campos de inputText crear un Dynamic Text y nombrarlo "errText". Luego creamos otro frame al que simplemente le añadiremos un campo de texto del tipo Dynamic Text.
Luego creamos un nuevo archivo Action Script al que llamaremos Main y le pondremos el siguiente script el cual adjuntamos con la película
package{
import flash.display.*;
import flash.events.TextEvent;
import flash.events.*;
import flash.events.TimerEvent
import flash.utils.Timer
import flash.events.MouseEvent;
import flash.text.TextField;
public class Main extends MovieClip{
private var $nombre:String;
private var $edad:Number;
private var $hoby:String;
private var newText:String;
private var tiempo:Timer;
public function Main():void
{
stop();
tiempo=new Timer(1000,1)
send_btn.addEventListener(MouseEvent.CLICK,saveDat)
}
//Guardamos los Datos de los campos
private function saveDat(evento:MouseEvent):void
{
$nombre=nombre_txt.text;
$edad=Number(edad_txt.text);
$hoby=hobby_txt.text;
if ($nombre.length >=2 ){ //1er if
if ($edad >= 4 && $edad < 99){//2do if
if ($hoby.length > 3 ){//3er if
armaTexto();
}//3er if
else errText.text="introductora un hobby valido"
}//2do if
else errText.text="introductora una edad valida"
}//1er if
else errText.text="introductora un nombre valido"
}
private function armaTexto():void
{
newText="Buenos dias "+$nombre+", veo que tienes "+$edad+" años."+
"que bueno que te guste "+$hoby
nextFrame();
tiempo.addEventListener(TimerEvent.TIMER,imprimeText)
tiempo.start();
}
private function imprimeText(evento:TimerEvent):void
{
if(this.currentFrame==2) {salidaTxt.text=newText}
tiempo.stop();
removeEventListener(TimerEvent.TIMER,imprimeText)
}
}//
//END PACK AND CLASS
}//
Ahora vamos a explicar un poco el codigo: En primer lugar declaramos la variables a usar en nuestro caso serán
private var $nombre:String;// guardaremos lo que el usuario escribirá en el campo de nombre
private var $edad:Number;// guardaremos lo que el usuario escribirá en el campo de edad
private var $hoby:String;// guardaremos lo que el usuario escribirá en el campo de hobby
private var newText:String;//esta variable servirá para crea un nuevo string con todos los datos
private var tiempo:Timer;//Aquí crearemos un timer para la consulta
public function Main():void//Creamos el constructor
{
stop();//detenemos la película
tiempo=new Timer(1000,1)//declaramos tiempo como un timer de 1 seg que se repetirá una sola //////////////////////////ves
send_btn.addEventListener(MouseEvent.CLICK,saveDat)//creamos el listener para el boton send
}
Ahora la function SaveDat:
private function saveDat(evento:MouseEvent):void
{
$nombre=nombre_txt.text;
$edad=Number(edad_txt.text);
$hoby=hoby_txt.text;
if ($nombre.length >=2 ){ //1er if
if ($edad >= 4 && $edad < 99){//2do if
if ($hoby.length > 3 ){//3er if
armaTexto();
}//3er if
else errText.text="introductora un hobby valido"//
}//2do if
else errText.text="introductora una edad valida"
}//1er if
else errText.text="introductora un nombre valido"
}
primero que nada guardamos los datos en las variables correspondientes $nombre=nombre_txt.text; etc. A Continuación creamos una seria de condiciones para dar validez a los datos introducidos por ej: if ($edad >= 4 && $edad < 99) aquí decimos que para que edad sea correcto tiene que estar comprendida entro 4 y 98 si el dato no esta dentro de esta comprencion mandaremos un mensaje de error. Así con todos los datos varia la condición según el dato .
Después que validamos los datos si todos son correctos llamaremos a
armaTexto();
private function armaTexto():void
{
newText="Buenos dias "+$nombre+", veo que tienes "+$edad+" años."+
"que bueno que te guste "+$hoby
nextFrame();
tiempo.addEventListener(TimerEvent.TIMER,imprimeText)
tiempo.start();
}
Aquí simplemente concatenamos las variable para armar un texto el deseado(Usted puede usar las variables de otros modos) . Luego en la función imprimeText verificamos que estemos en el frame correcto si es as cargamos salidaTxt con los datos detenemos el timer y removemos el listener.
private function imprimeText(evento:TimerEvent):void
{
if(this.currentFrame==2) {salidaTxt.text=newText}
tiempo.stop();
removeEventListener(TimerEvent.TIMER,imprimeText)
}
Bien eso es todo. Saludos hasta la próxima Maxx