Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > Introducción a ActionScript > Ejemplo: creación de una aplicación básica | |||
Es posible crear archivos de código fuente ActionScript externos con una extensión .as utilizando Flash, Flex Builder, Dreamweaver o cualquier editor de texto.
ActionScript 3.0 puede utilizarse en varios entornos de desarrollo de aplicaciones, como las herramientas de edición de Flash y Flex Builder.
En esta sección se indican los pasos necesarios para crear y mejorar una sencilla aplicación ActionScript 3.0 con la herramienta de edición de Flash o la herramienta Flex Builder 2. La aplicación que se va a crear presenta un patrón sencillo de utilización de archivos de clases de ActionScript 3.0 externos en aplicaciones Flash y Flex. Dicho patrón se utilizará en todas las demás aplicaciones de ejemplo de este manual.
Debería tener alguna idea de la aplicación que desea crear antes de empezar a crearla.
La representación del diseño puede ser tan sencilla como el nombre de la aplicación y una breve declaración del propósito de la misma o tan complicada como un conjunto de documentos de requisitos con numerosos diagramas de Lenguaje de modelado unificado (UML). Aunque este manual no trata con detalle el tema del diseño de software, es importante recordar que el diseño de la aplicación es un paso fundamental del desarrollo de las aplicaciones ActionScript.
El primer ejemplo de una aplicación ActionScript es una aplicación "Hello World" estándar, de modo que su diseño es muy sencillo:
Teniendo en cuenta esta definición concisa, ya puede empezar a crear la aplicación.
Según el propósito del diseño de la aplicación Hello World, el código debería poder reutilizarse fácilmente. Teniendo esto en cuenta, la aplicación utiliza una sola clase orientada a objetos, denominada Greeter, que se usa desde una aplicación creada en Flex Builder o la herramienta de edición de Flash.
Aparecerá una nueva ventana de edición de ActionScript.
Continúe con Adición de código a la clase Greeter.
La clase Greeter define un objeto, Greeter, que podrá utilizar en la aplicación HelloWorld.
package
{
public class Greeter
{
public function sayHello():String
{
var greeting:String;
greeting = "Hello World!";
return greeting;
}
}
}
La clase Greeter incluye un solo método sayHello(), que devuelve una cadena que envía "Hello" al nombre de usuario que recibe.
La clase Greeter ya puede utilizarse en una aplicación Flash o Flex.
La clase Greeter que ha creado define un conjunto de funciones de software con contenido propio, pero no representa una aplicación completa. Para utilizar la clase, necesita crear un documento de Flash o una aplicación Flex.
La aplicación HelloWorld crea una nueva instancia de la clase Greeter. A continuación se explica cómo asociar la clase Greeter a la aplicación.
Aparece una nueva ventana de Flash.
mainText como nombre de la instancia del campo de texto.
var myGreeter:Greeter = new Greeter();
mainText.text = myGreeter.sayHello("Bob");
Continúe con Publicación y prueba de la aplicación ActionScript.
El desarrollo de software es un proceso repetitivo. Se escribe código, se intenta compilar y se edita hasta que se compile sin problemas. Se ejecuta la aplicación compilada, se prueba para ver si cumple con el diseño previsto y, si no es así, se edita de nuevo el código hasta que lo cumple. Los entornos de desarrollo de Flash y Flex Builder ofrecen diversas formas de publicar, probar y depurar las aplicaciones.
A continuación se explican los pasos básicos para probar la aplicación HelloWorld en cada entorno.
Acaba de crear una aplicación orientada a objetos simple pero completa con ActionScript 3.0. Continúe con Mejora de la aplicación HelloWorld.
Para hacer la aplicación un poco más interesante, hará que pida y valide un nombre de usuario en una lista predefinida de nombres.
En primer lugar, deberá actualizar la clase Greeter para añadir funcionalidad nueva. A continuación, actualizará la aplicación Flex o Flash para utilizar la nueva funcionalidad.
package
{
public class Greeter
{
/**
* Defines the names that should receive a proper greeting.
*/
public static var validNames:Array = ["Sammy", "Frank", "Dean"];
/**
* Builds a greeting string using the given name.
*/
public function sayHello(userName:String = ""):String
{
var greeting:String;
if (userName == "")
{
greeting = "Hello. Please type your user name, and then press the Enter key.";
}
else if (validName(userName))
{
greeting = "Hello, " + userName + ".";
}
else
{
greeting = "Sorry, " + userName + ", you are not on the list.";
}
return greeting;
}
/**
* Checks whether a name is in the validNames list.
*/
public static function validName(inputName:String = ""):Boolean
{
if (validNames.indexOf(inputName) > -1)
{
return true;
}
else
{
return false;
}
}
}
}
La clase Greeter tiene ahora varias funciones nuevas:
validNames enumera los nombres de usuario válidos. La matriz se inicializa como una lista de tres nombres cuando se carga la clase Greeter.sayHello() acepta ahora un nombre de usuario y cambia el saludo en función de algunas condiciones. Si userName es una cadena vacía (""), la propiedad greeting se define de forma que pida un nombre al usuario. Si el nombre de usuario es válido, el saludo se convierte en "Hello, userName". Finalmente, si no se cumple alguna de estas dos condiciones, la variable greeting se define como "Sorry, userName, you are not on the list".validName() devuelve true si inputName se encuentra en la matriz validNames y false si no se encuentra. La sentencia validNames.indexOf(inputName) comprueba cada una de las cadenas de la matriz validNames con respecto a la cadena inputName. El método Array.indexOf() devuelve la posición de índice de la primera instancia de un objeto en una matriz o el valor -1 si el objeto no se encuentra en la matriz. A continuación editará el archivo de Flash o Flex que hace referencia a esta clase de ActionScript.
"") al método sayHello() de la clase Greeter:
var myGreeter:Greeter = new Greeter();
mainText.text = myGreeter.sayHello("");
mainText existente.textIn como nombre de instancia.
mainText.border = true;
textIn.border = true;
textIn.addEventListener(KeyboardEvent.KEY_UP, keyPressed);
function keyPressed(event:Event):void
{
if (event.keyCode == Keyboard.ENTER)
{
mainText.text = myGreeter.sayHello(textIn.text);
}
}
El código nuevo añade la siguiente funcionalidad:
textIn, tiene un conjunto de eventos que puede distribuir. El método addEventListener() permite definir una función que se ejecuta cuando se produce un tipo de evento. En este caso, el evento es presionar la tecla Intro del teclado.keyPressed() llama al método sayHello() del objeto myGreeter y le pasa el texto del campo de texto textIn como parámetro. El método devuelve una cadena de saludo basada en el valor pasado. Después se asigna la cadena devuelta a la propiedad text del campo de texto mainText. A continuación se muestra el script completo para el Fotograma 1:
mainText.border = true;
textIn.border = true;
var myGreeter:Greeter = new Greeter();
mainText.text = myGreeter.sayHello("");
textIn.addEventListener(KeyboardEvent.KEY_UP, keyPressed);
function keyPressed(event:Event):void
{
if (event.keyCode == Keyboard.ENTER)
{
mainText.text = myGreeter.sayHello(textIn.text);
}
}
Cuando ejecute la aplicación se le pedirá que escriba un nombre de usuario. Si es válido (Sammy, Frank o Dean), la aplicación mostrará el mensaje de confirmación "hello".
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000035.html