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.

Subtemas

Diseño de una aplicación ActionScript
Creación del proyecto HelloWorld y de la clase Greeter
Adición de código a la clase Greeter
Creación de una aplicación que utilice el código ActionScript
Publicación y prueba de la aplicación ActionScript
Mejora de la aplicación HelloWorld

Diseño de una aplicación ActionScript

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.

Creación del proyecto HelloWorld y de la clase Greeter

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.

Para crear la clase Greeter en la herramienta de edición de Flash:

  1. En la herramienta de edición de Flash, seleccione Archivo > Nuevo.
  2. En el cuadro de diálogo Nuevo documento, seleccione Archivo ActionScript y haga clic en Aceptar.

    Aparecerá una nueva ventana de edición de ActionScript.

  3. Seleccione Archivo > Guardar. Seleccione la carpeta en la que desea almacenar la aplicación, asigne el nombre Greeter.as al archivo ActionScript y haga clic en Aceptar.

    Continúe con Adición de código a la clase Greeter.

Adición de código a la clase Greeter

La clase Greeter define un objeto, Greeter, que podrá utilizar en la aplicación HelloWorld.

Para añadir código a la clase Greeter:

  1. Introduzca el código siguiente en el nuevo archivo:
    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.

  2. Seleccione Archivo > Guardar para guardar este archivo de ActionScript.

La clase Greeter ya puede utilizarse en una aplicación Flash o Flex.

Creación de una aplicación que utilice el código ActionScript

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.

Para crear una aplicación ActionScript mediante la herramienta de edición de Flash:

  1. Seleccione Archivo > Nuevo.
  2. En el cuadro de diálogo Nuevo documento, seleccione Documento de Flash y haga clic en Aceptar.

    Aparece una nueva ventana de Flash.

  3. Seleccione Archivo > Guardar. Seleccione la misma carpeta que contiene el archivo de clase Greeter.as, asigne al documento de Flash el nombre HelloWorld.fla y haga clic en Aceptar.
  4. En la paleta Herramientas de Flash, seleccione la herramienta Texto y arrastre el cursor por el escenario para definir un nuevo campo de texto, con una anchura de aproximadamente 300 píxeles y una altura de unos 100 píxeles.
  5. En la ventana Propiedades, con el campo de texto aún seleccionado en el escenario, escriba mainText como nombre de la instancia del campo de texto.
  6. Haga clic en el primer fotograma de la línea de tiempo principal.
  7. En el panel Acciones, escriba el siguiente script:
    var myGreeter:Greeter = new Greeter();
    mainText.text = myGreeter.sayHello("Bob");
    
  8. Guarde el archivo.

Continúe con Publicación y prueba de la aplicación ActionScript.

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.

Para publicar y probar una aplicación ActionScript mediante la herramienta de edición de Flash:

  1. Publique la aplicación y vea si aparecen errores de compilación. En la herramienta de edición de Flash, seleccione Control > Probar película para compilar el código ActionScript y ejecute la aplicación HelloWorld.
  2. Si aparecen errores o advertencias en la ventana Salida al probar la aplicación, corrija las causas de estos errores en el archivo HelloWorld.fla o HelloWorld.as y pruebe de nuevo la aplicación.
  3. Si no se producen errores de compilación, verá una ventana de Flash Player en la que se mostrará la aplicación Hello World. Se muestra el texto "Hello, Bob".

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.

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.

Para actualizar el archivo Greeter.as:

  1. Abra el archivo Greeter.as.
  2. Cambie el contenido del archivo por lo siguiente (las líneas nuevas y cambiadas se muestran en negrita):
    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:

  3. La matriz validNames enumera los nombres de usuario válidos. La matriz se inicializa como una lista de tres nombres cuando se carga la clase Greeter.
  4. El método 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".
  5. El método 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.

Para modificar la aplicación ActionScript mediante la herramienta de edición de Flash:

  1. Abra el archivo HelloWorld.fla.
  2. Modifique el script en el Fotograma 1 de forma que se pase una cadena vacía ("") al método sayHello() de la clase Greeter:
    var myGreeter:Greeter = new Greeter();
    mainText.text = myGreeter.sayHello("");
    
  3. Seleccione la herramienta Texto en la paleta Herramientas y cree dos nuevos campos de texto en el escenario, uno junto al otro, y debajo del campo de texto mainText existente.
  4. En el primer campo de texto nuevo, escriba User Name: como etiqueta.
  5. Seleccione el otro campo de texto nuevo y, en el inspector de propiedades, seleccione InputText como tipo del campo de texto. Escriba textIn como nombre de instancia.
  6. Haga clic en el primer fotograma de la línea de tiempo principal.
  7. En el panel Acciones, añada las líneas siguientes al final del script existente:
    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:

  8. Las dos primeras líneas sólo definen los bordes de dos campos de texto.
  9. Un campo de texto de entrada, como el campo 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.
  10. La función personalizada 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);
        }
    }
    
  11. Guarde el archivo.
  12. Seleccione Control > Probar película para ejecutar la aplicación.

    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