Fundamentos de programación

ActionScript es un lenguaje de programación, por lo que será de gran ayuda comprender primero algunos conceptos generales de programación.

Para qué sirven los programas informáticos

En primer lugar, resulta útil entender qué es un programa informático y para qué sirve. Un programa informático se caracteriza por dos aspectos principales:

  • Un programa es una serie de instrucciones o pasos que debe llevar a cabo el equipo.

  • Cada paso implica en última instancia la manipulación de información o datos.

En general, un programa informático es simplemente una lista de instrucciones paso a paso que se dan al equipo para que las lleve a cabo una a una. Cada una de las instrucciones se denomina sentencia . En ActionScript, todas las sentencias se escriben con un punto y coma al final.

Lo que realiza básicamente una instrucción dada en un programa es manipular algún bit de datos almacenado en la memoria del equipo. Un ejemplo sencillo consiste en ordenar al equipo que añada dos números y almacene el resultado en su memoria. En un caso más complejo, se podría tener un rectángulo dibujado en la pantalla y escribir un programa para moverlo a algún otro lugar de la pantalla. El equipo recuerda determinada información relativa al rectángulo: las coordenadas x e y que indican su ubicación, la anchura y altura, el color, etc. Cada uno de estos bits de información se almacena en algún lugar de la memoria del equipo. Un programa para mover el rectángulo a una ubicación diferente podría incluir pasos como “cambiar la coordenada x a 200; cambiar la coordenada y a 150”. Es decir, especificando nuevos valores para las coordenadas x e y. En segundo plano, el equipo procesa estos datos de algún modo para convertir realmente estos números en la imagen que aparece en pantalla. Sin embargo, en el nivel básico de detalle que interesa, basta con saber que el proceso de “mover un rectángulo en pantalla” únicamente implica un cambio de bits de datos en la memoria del equipo.

Variables y constantes

Principalmente la programación implica el cambio de partes de información en la memoria del equipo. Por lo tanto, resulta importante disponer de algún modo de representar una sola parte de información en un programa. Una variable es un nombre que representa un valor en la memoria del equipo. Cuando se escriben sentencias para manipular valores, se escribe el nombre de la variable en lugar del valor; cuando el equipo ve el nombre de la variable en el programa, busca en su memoria y utiliza el valor que allí encuentra. Por ejemplo, si hay dos variables denominadas value1 y value2 , cada una de las cuales contiene un número, para sumar esos dos números se puede escribir la siguiente sentencia:

value1 + value2

Cuando lleve a cabo los pasos indicados, el equipo buscará los valores de cada variable y los sumará.

En ActionScript 3.0, una variable se compone realmente de tres partes distintas:

  • El nombre de la variable

  • El tipo de datos que puede almacenarse en la variable

  • El valor real almacenado en la memoria del equipo

Se acaba de explicar el modo en que el equipo utiliza el nombre como marcador de posición del valor. El tipo de datos también es importante. Cuando se crea una variable en ActionScript, se determina el tipo específico de datos que va a incluir. A partir de aquí, las instrucciones del programa sólo pueden almacenar ese tipo de datos en la variable. El valor se puede manipular con las características particulares asociadas a su tipo de datos. En ActionScript, para crear una variable (se conoce como declarar la variable), se utiliza la sentencia var :

var value1:Number;

Con este ejemplo se indica al equipo que cree una variable denominada value1 , que sólo puede incluir datos Number. (“Number” es un tipo de datos específico definido en ActionScript.) También es posible almacenar un valor directamente en la variable:

var value2:Number = 17;

Adobe Flash Professional

En Flash Professional existe otra forma posible de declarar una variable. Cuando se coloca un símbolo de clip de película, un símbolo de botón o un campo de texto en el escenario, se le puede asignar un nombre de instancia en el inspector de propiedades. En segundo plano, Flash Professional crea una variable con el mismo nombre que la instancia. Este nombre se puede utilizar en el código ActionScript para representar a ese elemento del escenario. Por ejemplo, supongamos que se dispone de un símbolo de clip de pelí­cula en el escenario y se le asigna el nombre de instancia rocketShip . Siempre que se utilice la variable rocketShip en el código ActionScript, en realidad se está manipulando ese clip de película.

Una constante es similar a una variable. Se trata de un nombre que representa un valor en la memoria del equipo con un tipo especifico de datos. La diferencia es que a una constante sólo se le puede asignar un valor cada vez en el curso de una aplicación ActionScript. Tras asignar un valor a una constante, éste permanecerá invariable en toda la aplicación. La sintaxis para declarar una constante es prácticamente la misma que para la declaración de una variable. La única diferencia radica en que se utiliza la palabra clave const en lugar de var :

const SALES_TAX_RATE:Number = 0.07;

Una constante resulta útil para definir un valor que se utilizará en varios puntos de un proyecto y que no cambiará en circunstancias normales. Cuando se utiliza una constante en lugar de un valor literal el código resulta más legible. Por ejemplo, dos versiones del mismo código. En uno se multiplica un precio por SALES_TAX_RATE . En el otro el precio se multiplica por 0.07 . La versión que utiliza la constante SALES_TAX_RATE resulta más fácil de entender. Asimismo, supongamos que cambia el valor definido por la constante. Si se utiliza una constante para representar el valor en el proyecto, el valor se puede cambiar en un lugar (la declaración de la constante). Por el contrario, tendría que modificarse en distintos lugares cuando se utilizan valores literales especificados en el código.

Tipos de datos

En ActionScript, hay muchos tipos de datos que pueden utilizarse como el tipo de datos de las variables que se crean. Algunos de estos tipos de datos se pueden considerar “sencillos” o “fundamentales”:

  • String: un valor de texto como, por ejemplo, un nombre o el texto de un capítulo de un libro

  • Numeric: ActionScript 3.0 incluye tres tipos de datos específicos para datos numéricos:

    • Number: cualquier valor numérico, incluidos los valores fraccionarios o no fraccionarios

    • int: un entero (un número no fraccionario)

    • uint: un entero sin signo, es decir, que no puede ser negativo

  • Boolean: un valor true (verdadero) o false (falso), por ejemplo, si un conmutador está activado o si dos valores son iguales

El tipo de datos sencillo representa a un solo elemento de información: por ejemplo, un único número o una sola secuencia de texto. Sin embargo, la mayoría de los tipos de datos definidos en ActionScript son tipos de datos complejos. Representan un conjunto de valores en un solo contenedor. Por ejemplo, una variable con el tipo de datos Date representa un solo valor (un momento temporal). No obstante, ese valor de fecha se representa en forma de diferentes valores: el día, el mes, el año, las horas, los minutos, los segundos, etc., los cuales son números individuales. Generalmente una fecha se suele percibir como un solo valor que se puede tratar como tal creando una variable Date. Sin embargo, internamente el equipo lo considera un grupo de varios valores que conjuntamente definen una sola fecha.

La mayoría de los tipos de datos incorporados y los tipos de datos definidos por los programadores son complejos. Algunos de los tipos de datos complejos que podrían reconocerse son:

  • MovieClip: un símbolo de clip de película

  • TextField: un campo de texto dinámico o de texto de entrada

  • SimpleButton: un símbolo de botón

  • Date: información sobre un solo momento temporal (una fecha y hora)

Para referirse a los tipos de datos, a menudo se emplean como sinónimos las palabras clase y objeto. Una clase es simplemente una definición de un tipo de datos. Se trata de una especie de plantilla para todos los objetos del tipo de datos, como afirmar que “todas las variables del tipo de datos Example tienen estas características: A, B y C”. Por otra parte, un objeto es una instancia real de una clase. Por ejemplo, una variable cuyo tipo de datos sea MovieClip se podrá describir como un objeto MovieClip. Se puede decir lo mismo con distintos enunciados:

  • El tipo de datos de la variable myVariable es Number.

  • La variable myVariable es una instancia de Number.

  • La variable myVariable es un objeto Number.

  • La variable myVariable es una instancia de la clase Number.