Comunidad de diseño web y desarrollo en internet

Introducción básica a Actionscript 3, clases, tipos de datos

Éste será un primer mini-tutorial de las nuevas cosas que trae Actionscript 3. En ésta entrega veremos la nueva forma de crear clases en AS3, cómo manejar los tipos de datos y usarlos en una aplicación real. El ejemplo está hecho con la versión publica de Flash 9, que puede descargarse gratis de los laboratorios de Adobe; sin embargo, es posible usar este mismo código en Flex 2.

Para prepararlo todo, crearemos un nuevo documento en Flash 9 Alpha. Cambiaremos el tamaño del escenario a 100 x 30 e insertaremos un texto. El texto le pondremos de tipo Dynamic Text y en el nombre de instancia colocaremos numero. Todo debe quedar así:



En este campo pondremos un número aleatorio de 0 a 999. El código para generar el número aleatorio es igual al que usaríamos para Actionscript 2, pero la forma en la que lo pondremos es lo nuevo que vamos a ver.

Guardamos en alguna carpeta nuestro .FLA como aleatorio.fla. Luego, en la carpeta donde guardamos el .FLA crearemos otra carpeta llamada clases (En minúsculas). Dentro de Flash 9 vamos a File -> New -> ActionScript File. Esto nos creará un archivo .as que guardaremos con el nombre Aleatorio.as dentro de la carpeta "clases" que creamos hace un rato. Aquí empieza lo divertido.

La carpeta que creamos como "clases" es, en Actionscript, un paquete. Los paquetes son colecciones de clases que podemos organizar como carpetas y llamarlas de igual manera dentro de nuestros proyectos.

Novedad de ActionScript 3
  • Los paquetes ya existían en Actionscript 2, pero en AS3 debes especificar a que paquete pertenece una clase antes de programarla. Por eso pondremos lo siguiente en Aleatorio.as:

Código :

package clases 
{
   
}

Con esto ya podemos programar la clase cómo lo haríamos en AS2. Incluiremos en el código la definición de la clase y pondremos su constructor.

Novedad de ActionScript 3
  • Debemos especificar que la clase es publica con public.
  • El constructor debe tener el mismo nombre de la clase y es el único metodo/función que no tiene un tipo de datos de retorno.

Código :

package clases 
{
   public class Aleatorio
   {
      function Aleatorio()
      { }
   }
}

Ahora añadiremos el valor aleatorio que queremos poner en nuestro campo de texto. Para esto crearemos la función getNumero, que nos devolverá un número de 0 a 999.

Novedad de ActionScript 3
  • Es obligatorio especificar si la función será publica o privada.
  • Es obligatorio especificar el tipo de datos que retorna la función. Si no retorna nada, debe especificarse que es void
  • ActionScript 3 tiene el tipo de datos "int" para números enteros. Es recomendado usarlo en vez de "Number" cuando manejamos números enteros ya que, al ser un tipo especifico de datos, hará más veloz la aplicación.

Código :

package clases 
{
   public class Aleatorio
   {
      function Aleatorio()
      { }
      
      public function getNumero() : int
      {
         return Math.round((Math.random()*1000));
      }
   }
}

Con nuestra clase lista, volvemos a nuestro archivo .FLA. Vamos al codigo del primer keyframe y ahí importaremos la clase que acabamos de crear. Luego instanciaremos un objeto de nuestra clase Aleatorio y por ultimo llamaremos al metodo "getNumero" para poner el numero aleatorio en nuestro campo de texto "numero":

Novedad de ActionScript 3
  • Las variables deben declararse siempre
  • Podremos el tipo de datos a las instancias de nuestras clases
  • Si vamos a colocar un numero dentro de un campo de texto, debemos primero convertir ese numero a String.

Código :

import clases.Aleatorio;
var alea:Aleatorio = new Aleatorio();
numero.text = new String(alea.getNumero());

Luego damos CTRL+ENTER y al ver un numero en pantalla sabremos que hemos creado nuestra primera aplicación en ActionScript 3.

En nuestra siguiente entrega veremos conceptos más avanzados de AS3, nueva forma de manejo de URLs y más novedades.

[ Descargar ejemplo (Requiere Flash 9 Alpha) ]

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate