Está en la página 1de 26

Introducción a ActionScript

Autor: Ciberaula

• Sobre ActionScript

o ActionScript es el lenguaje de programación para crear scripts en Flash


o Qué puede hacer ActionScript?
Controlar la línea de tiempo

Controlar las propiedades de los objetos

Generación de contenido programado

Comunicación con el servidor

Sobre ActionScript

ActionScript es el lenguaje de programación para crear scripts en Flash

Los lenguajes de programación se utilizan para comunicarse con el ordenador enviando y recibiendo información. A través de dichos
lenguajes, el usuario podrá decirle al ordenador lo que debe hacer, así como preguntarle por cualquier información. Gracias a la
programación, el ordenador escucha, prueba o realiza las acciones requeridas por el usuario y da respuestas.

Al igual que con los lenguajes humanos, esta comunicación se realiza mediante un vocabulario y una gramática ya establecidos. Piense
en la siguiente reflexión: mientras cree que está estudiando este curso para aprender a programar ActionScript, realmente está
aprendiendo a comunicarse con Flash. Eso si, por supuesto, Flash no habla idiomas humanos. El lenguaje nativo de Flash es
ActionScript y va a aprender a hablarlo. Aprender a hablar un lenguaje de programación es considerado, a veces, sinónimo de
aprender a programar, pero programar es mucho más que aprender la sintáxis de un lenguaje.

Qué puede hacer ActionScript?

Realmente no hay límite para un lenguaje como ActionScript de Flash 5:

Controlar la línea de tiempo

Una película de Flash está formada por una serie de fotogramas secuenciales llamada línea de tiempo. Utilizando ActionScript en ciertos
fotogramas clave podemos crear elementos interactivos como:

• La botonera clásica de navegación, con botones que reaccionan a clics del ratón y envían la cabecera de la película a un
fotograma concreto.
• Contenido que se anima basándose en movimientos del ratón.

• Objetos que pueden ser movidos por el ratón o el teclado.

• Campos de texto que permiten a los usuarios entrar datos a la película como en un formulario.

• Controlar el contenido audiovisual.

Controlar las propiedades de los objetos

ActionScript puede ser utilizado para examinar o modificar las propiedades de los elementos de una película. Por ejemplo, podemos:

• Cambiar el color y la localización de un objeto.

• Reducir el volumen de un sonido.

• Especificar la tipografía de un bloque de texto.

• Campos de texto que permiten a los usuarios entrar datos a la película como en un formulario.

• Modificar las propiedades repetidamente produciéndo comportamientos únicos como son los movimientos basados en la
física y la detección de colisiones.

Generación de contenido programado

Con ActionScript podemos generar contenido directamente desde la bibiloteca de la película o duplicar contenido existente en el
Escenario. El contenido generado en forma de programa puede servir como

• Un elemento estático.

• Una plantilla visual aleatoria.

• Un elemento interactivo, por ejemplo una nave en un juego espacial.


• Una opción de un menú que se abre cuando la presionan (pull-down menú).

Comunicación con el servidor

ActionScript provee de una amplia variedad de herramientas para enviar y recibir información del servidor. Ejemplos de comunicación
con el servidor son:

• Enlace a una página web.

• Libro de visitas.

• Aplicación de chat.

• Juego multijugadores a través de la red.

• Transacción de e-comercio.

• Sitio personalizado con nombre de usuario y contraseña.

Estos ejemplos, por supuesto, ofrecen solo una lista limitada del potencial de las aplicaciones ActionScript. El objetivo de este curso es
darle las herramientas fundamentales para explorar por su cuenta las miles de posibilidades que ofrece ActionScript. También le
enseñaremos cómo aplicar en la práctica todo lo aprendido.

• Creando scripts con ActionScript

o Acciones de Fotograma
o Acciones de Objeto

Creando scripts con ActionScript

Un script es una instrucción o una serie de instrucciones que ejecutan unas tareas específicas.

Las instrucciones son líneas de código que se añaden a una instancia o a un fotograma clave.

Si dichas líneas de código se encuentran en un botón, cuando el usuario actúe con el ratón sobre dicho botón, las sentencias añadidas
se ejecutan. Si el código se encuentra en una instancia de un clip de película, las acciones se ejecutarán cuando ocurra le ocurra el
evento adecuado a dicha instancia.

En caso de estar añadidas a un fotograma clave, cuando la cabecera de reproducción de la línea de tiempo pase sobre el fotograma
clave que contiene el script, las instrucciónes añadidas al fotograma clave se ejecutarán.

Acciones de Fotograma

Por ejemplo, la siguiente es una instrucción añadida a un fotograma clave:

Cuando el cabezal de reproducción de la película pasa sobre este fotograma clave, la instrucción se ejecuta. En nuestro ejemplo, el
comando stop () indica al cabezal que pare la película en este punto de la línea de tiempo.

Las instrucciones incluidas en los fotogramas clave se llaman Acciones de Fotograma.

Acciones de Objeto

Un ejemplo de instrucción añadida a una instancia de un botón es:

on (press) {
gotoAndPlay (60);
}

Cuando los usuarios hagan clic sobre el botón que contiene esta instrucción, flash moverá el cabezal de reproducción de la película al
fotograma número 60 de la línea de tiempo y continuará desde este punto.

Un ejemplo de instrucción añadida a una instancia de clip de película es:

onClipEvent (load) {
stop();
}

Cuando la instancia aparezca en la película (load), flash parará la ejecución de la línea de tiempo de la instancia de clip de película.
Las instrucciones añadidas a las instancias se llaman Acciones de objeto.

En muchos casos se utilizan combinaciones de Acciones de objeto y de fotograma para construir una estructura interactiva en una
película de Flash

• Escribiendo el Script

Escribiendo el Script

Para comprender cómo y dónde escribir los scripts de nuestra película veremos el modelo de ejecución de ActionScript.

Puede tener código añadido en varios fotogramas, botones y clips de película a lo largo y ancho de su película. Pero, ¿cuándo
funcionan? Para responder a esta pregunta, vamos a explicar un poco de historia de la Informática.

En los albores de la Programación, las instrucciones de un programa eran ejecutadas secuencialmente, en el orden en que aparecían,
empezando por la primera línea y acabando por la última. El programa tenía la intención de realizar algunas acciones y pararse. Este
tipo de programas, llamado batch (lote), no manejaba la interactividad requerida de un entorno de programación basado en eventos
como es Flash.

Los programas basados en eventos no se ejecutan de forma lineal como hacen los programas batch. Este nuevo tipo de programas
continúan funcionando (como un bucle) esperando a que los eventos sucedan y poder ejecutar segmentos de código en respuesta a
dichos eventos.

En un lenguaje diseñado para utilizarse en un entorno visual interactivo (como son ActionScript o JavaScript), los eventos son,
normalmente, acciones de usuario como pueden ser un clic de ratón o pulsar una tecla. Cuando ocurre un evento de este tipo, en el
intérprete suena una alarma. El programa reaccionará a la alarma consultando al interprete para ejecutar el segmento de código
apropiado.

Por ejemplo, si un usuario hace clic a un botón de la película, podremos ejecutar código que muestre una sección diferente de la
película o bien, enviar variables a una base de datos.

Pero los programas no reaccionan a eventos a menos que les hagamos reaccionar utilizando manejadores de eventos.

Aquí hay algun seudo-código que muestra de forma genérica como se establecen los manejadores de eventos:

cuando (ocurra el evento) {


ejecuta este código
}

Lo que en código real queda así:

on (evento) {
instrucciones;
}

En la practica, un manipulador de eventos para un boton que mueve la cabecera al fotograma 60 será:

on (press) {
gotoAndPlay (60);
}
Que puede dar como resultado el botón de la película siguiente (foto60.swf):

Puesto que los programas basados en eventos están siempre ejecutándose, listos para reaccionar al próximo evento, podemos decir
que están como viviendo en el sistema.

Los eventos son partes cruciales de las películas Flash. Sin ellos nuestros scripts no podrían hacer nada, salvo una excepción: Flash
ejecuta cualquier código de un fotograma cuando el cabezal de reproducción de la película entra en dicho fotograma. El evento implícito
es simplemente el cabezal entrando en el fotograma particular, lo cual es tan intrínseco a Flash que no requiere ningún manejador de
eventos.

• ActionScript y Fotogramas

o Utilizando Acciones de fotogramas. Ejemplo stop.fla

ActionScript y Fotogramas

Por defecto, cuando una película Flash o una instancia animada se está ejecutando, se realiza un bucle. El cabezal de ejecución de la
linea de tiempo pasa sobre cada fotograma a la velocidad especificada, mostrando las instancias que hay dentro de cada fotograma,
hasta que alcanza el final de la linea de tiempo. Al final, hace un bucle hacia atras y empieza de nuevo todo el proceso. Esto puede ser
conveniente, particularmente para animaciones cíclicas.

Ejemplo bucle.swf:

Sin embargo, a veces podríamos necesitar que la animación no empezara de nuevo, si no más bien que pare al completar su secuencia
de fotogramas.

Ejemplo stop.swf.

Nota: Si la animación ha finalizado, pulse sobre "Actualizar" en su navegador para volver a verla.
Utilizando Acciones de fotogramas. Ejemplo stop.fla

Las acciones de fotogramas son instrucciones añadidas a un fotograma clave que se ejecutan cuando el cabezal de reproducción de la
película pasa sobre dicho fotograma clave. Estas acciones de Fotograma se ejecutan automáticamente cuando el cabezal las
encuentra, no son interactivas.

Una de las acciones de fotograma más utilizadas es el comando stop(). Esta sentencia congela la película en el fotograma que la
contiene. Para prevenir el bucle que realiza siempre la línea de tiempo de Flash, se debe utilizar este comando. Es lo que hemos hecho
en la película ejemplo de la transformación del ratón.

Para añadir acciones a un fotograma, pulse con el botón derecho del raton, sobre el fotograma clave donde desee insertar sus
instrucciones. En nuestro ejemplo, es el fotograma número 50. Seleccione Acciones del menú o seleccionar Ventana / acciones del
menú principal. Aparecerá el panel de acciones

El panel de acciones se divide en tres áreas distinas: Libro de acciones, ventana de script y parametros. Para seleccionar una
instrucción tiene que abrir el libro de acciones. Hay sobre 100 acciones o instrucciones en ActionScript.

Las instrucciones se dividen en dos categorías, y, en algunos casos, subcategorías. Haga clic con el puntero del ratón en el libro para
abrirlo. Aparece una lista de comandos. En este caso, seleccionaremos una instrucción del libro de acciones básicas.
Esta es otra forma de seleccionar la acción stop().

Descargue la película stop.fla para ver cómo se ha realizado el ejemplo.

• ActionScript e Instancias

o Asignar acciones a una instancia de botón. Ejemplo foto60.fla


o Asignar acciones a una instancia de clip de película. Ejemplo accionesmc.fla

ActionScript e Instancias

Las acciones de objeto se añaden a instancias de botón o de clip de película. Las instrucciones añadidas se ejecutaran cuando el
usuario haga clic con el puntero del ratón sobre el botón o, en el caso de instancia de clip de película, cuando se cargue un clip de
pelícua o el cabezal de reproducción de la película llegue a un fotograma determinado.

Asignar acciones a una instancia de botón. Ejemplo foto60.fla

En este ejemplo, realmente, tenemos dos botones: una imagen y un texto. El botón-imagen es la instancia que está presente durante
toda la película; al pulsarlo, lleva el cabezal de reproducción al fotograma 60. El botón-texto es la palabra "continuar...", que aparece
sólo en el fotograma 60. Este botón lo que hace es justo eso: llevar el cabezal de reproducción al siguiente fotograma y decirle que
continúe.

Para añadir acciones a una instancia, pulse con el botón derecho del raton sobre el objeto al que desee insertar las instrucciones.
Seleccione Acciones del menú o seleccionar Ventana / acciones del menú principal. Aparecerá el panel de acciones.
El panel de acciones de objetos es igual al de fotogramas. Aunque las acciones que puede aplicar en ambos casos no son siempre las
mismas.

Cuando se realiza una acción cualquiera con el puntero del ratón sobre un botón, se inserta automáticamente un manejador de eventos.

Los eventos de ratón que Flash reconoce son los siguientes:

Presionar (Press):
Se produce al hacer clic con el ratón sobre el botón, mientras el puntero se encuentra sobre el botón.
Liberar (Release):
Se produce al soltar el botón del ratón mientras el puntero se encuentra sobre la instancia de botón. Equivalente a onClick.
Es el evento por defecto en Flash.
Liberar fuera (Release Outside):
Se produce, una vez hemos hecho clic sobre el botón, al soltar el botón del ratón fuera de la instancia del botón.
Situar sobre objeto (Roll Over):
Se produce al desplazar el puntero del ratón sobre el botón. equivalente a onMouseOver.
Situar fuera de objeto (Roll Out):
Se produce al desplazar el puntero del ratón fuera del botón. Equivalente a onMouseOut
Arrastrar sobre (Drag Over):
Se produce al presionar el botón del ratón mientras el puntero se encuentra sobre el botón, se desplaza fuera del botón y, a
continuación, vuelve a desplazarse sobre el botón.
Arrastrar fuera (Drag Out):
Se produce cuando el botón del ratón se presiona con el puntero sobre el botón y, a continuación, el puntero se desplaza
fuera del botón.
Presión de tecla (Key Press):
Se produce cuando se presiona la tecla especificada en el campo asociado.

Para entender mejor los eventos, interactua con el botón del siguiente ejemplo. Para ver como funciona el evento Presión de tecla (Key
Press) , pulsa la tecla “a”.

Puede ver todos los eventos de ratón en esta película:


En nuestro ejemplo, el botón-imagen tiene el siguiente código:

Con la instrucción gotoAndPlay (60); conseguimos que, al hacer clic sobre el botón y soltar el ratón, el cabezal de la película se dirija al
fotograma número 60.

En el botón-texto, tenemos este otro script:

Con la instrucción nextFrame (); conseguimos que, al hacer clic sobre el botón y soltar el ratón, el cabezal de la película se dirija al
fotograma siguiente.

Descargue la película foto60.fla para ver cómo se ha realizado el ejemplo

Asignar acciones a una instancia de clip de película. Ejemplo accionesmc.fla

Observe este ejemplo:


En el encontramos dos instancias del mismo clip de película. Sin embargo, un pececito nada perfectamente pero el otro se encuentra
parado. Esto es debido a que el pez quieto tiene un script como el siguiente:

Aunque los eventos de los clips de película los veremos más adelante, podemos adelantar el significado de este código:

onClipEvent es el manejador de eventos que pueden sucederle a un clip de película. Dichos eventos son: load, unload, enterFrame,
mouseMove, mouseDown, keyDown, keyUp y data.

En este caso hemos utilizado el argumento load para onclipEvent. Esto significa que las instrucciones se ejecutaran cuando una
instancia de un clip de película aparezca en la línea de tiempo.

Pues bien, cuando aparezaca esta instancia del clip de película Fish Movie Clip, el cabezal de ejecución de la instancia parará, por
efecto de la instrucción stop ().

Descargue la película accionesmc.fla para ver cómo se ha realizado el ejemplo.

• El explorador de película

El explorador de película

El explorador de película es una novedad de Flash 5 que se utiliza para poder organizar el contenido de toda la película. Resultará muy
útil cuando busquemos los scripts que puedan contener sus elementos.
Para buscar los elementos que contienen scripts, seleccionaremos entre los botones de mostrar, únicamente el botón Mostrar archivos
de comandos de acción. Aparecerán todos los elementos del tipo: actions for (acciones para ) indicando el fotograma, botón o clip de
película que contiene el código.

Para buscar un código concreto, utilizaremos el campo Buscar. Escriba en dicho campo la cadena de ActionScript que desea encontrar.
El cuadro Buscar buscará en todos los elementos mostrados en el explorador de películas.

En nuestro ejemplo hemos buscado la cadena de ActionScript: "drag" y el explorador nos ha mostrado aquel elemento que contiene
dicha cadena.
• Variables

o Declaración de variables
o Creación automática de variables
o Normas para nombrar las variables
o Crear nombres de variables con programación
o Asignar valores a las variables

Variables

En una película de flash podemos llegar a manejar mucha información: desde los datos introducidos por los usuarios en campos de
entrada, hasta las coordenadas de una nave espacial, pasando por un número de fotograma determinado. Para poder seguir la pista y
manipular toda estos datos, necesitamos guardarlos en algún sitio y poder recuperarlos siempre que los necesitemos.

Las variables son los contenedores (para almacenamiento de información) donde guardaremos los datos de un script. Gracias a las
variables podremos gestionar y recuperar cualquier información que almacenemos en ellas.

Una variable es como una cuenta bancaria que, en lugar de disponer de dinero, dispone de datos. Crear una nueva variable es como
abrir una nueva cuenta en un banco: depositamos en ella algo (datos) para poder recuperarlos posteriormente. Así como las cuentas
bancarias tienen un número de cuenta para poder identificarlas, las variables tienen un nombre asociado para poder dirigirnos a ellas y
manipular la información almacenada.

Una vez creada una variable, podremos poner datos en ella siempre que queramos. Si no la utilizamos, podemos borrarla
definitivamente.

Lo importante de las variables es comprender que podemos referirnos a ellas, aunque los datos contenidos pueden ser alterados por las
diversas operaciones que puede sufrir su contenido a lo largo de la película. El nombre de la variable queda fija, aunque el contenido (la
información) cambie.

Declaración de variables

A crear una variable en informática se dice Declaración.

Cuando declaramos una variable, queda como una página en blanco, esperando a ser escrita. En este estado, la variable contiene un
tipo especial de datos llamado undefined (indefinido). Esto indica la ausencia de datos.

Para declarar una nueva variable se utiliza la sentencia de ActionScript var.

Ejemplo:

var altura;
var ancho;
var apellidos;
var x;

O también podemos escribir lo anterior de este modo:

var altura, ancho, apellidos, x;

La palabra clave var le dice al intérprete que estamos declarando (creando) una variable, y el texto que le sigue: altura, ancho, apellidos
o x, se convierte en nombres de variable.

También podemos dar a las variables un valor inicial, al mismo tiempo que las declaramos:

var altura = 5;
var ancho= 4.35;
var apellidos = "Moreno García" ;

Se pueden crear variables allí donde se pueda escribir código: en fotogramas clave, en instancias de botón o en instancias de clip de
película.

Una vez se ha creado una variable ya podemos asignarle un contenido.

Creación automática de variables

Muchos lenguajes de programación necesitan que las variables sean declaradas antes de que se depositen los datos en ellas.
ActionScript no es un lenguaje tan estricto. Si le asignamos un contenido a una variable que no existe, el intérprete crea una nueva
variable por nosotros.
El problema que nos puede ocasionar la creación automática de variables es que no tendremos un inventario centralizado de variables
para poder consultarlo cuando examinemos nuestro código.

Cuando se realiza un programa, es una buen idea declarar primero las variables, para utilizarlas después. Normalmente, en el primer
fotograma clave después de un preload pondrá:

//***********************
// Inicializar variables
//***********************

var altura = 5; //altura del objeto. Inicialmente con valor 5


var ancho = 4.35; //anchura del objeto. Inicialmente es de 4,35
var apellidos; // apellidos que introducirá el usuario
var password1; // el valor de esta variable lo generará un script interno

Normas para nombrar las variables

• Los nombres de variables sólo pueden contener letras, números y el carácter de subrayado.

• Deben empezar con una letra.


Los nombres de variable son insensibles a las mayúsculas. Esto significa que Nombre, nombre o NOMBRE serán la misma

variable.

Ejemplos de nombres de variables legales:

Nombre_Usuario;
FECHA12;
AlturaDeLaNaveEspacialMarciana;

Ejemplos de nombres de variable no permitidos:

_NombreUsuario;
Nombre-Usuario;
123FECHA;

Crear nombres de variables con programación

Es muy posible que, cuando programe para su película Flash, necesite dar nombres a sus variables de forma automática, mediante
programación. Para crear un nombre de variable desde cualquier expresión, utilice la sentencia var.

// Recoger los datos del usuario


var i = 1
set ("password" + i, nombre+color);

Asignar valores a las variables

Comparativa de la sintaxis de acceso a una variable en Flash 5 y en Flash 4

Se refiere a... Flash 4 Flash 5


Línea de tiempo principal de la película / _root
Variable en la línea de tiempo principal /:x _root.x
Variable x en la instancia clip1 en la línea de /clip1:x _root.clip1.x
t. principal
Variable x en la instancia clip2 dentro de la /clip1/clip2:x _root.clip1.clip2.x
instancia clip1 en la línea de t. principal
Una línea de tiempo por encima de la actual, ../ _parent
en la que está el clip de película
Variable x en la linea de t. por encima de la ../:x _parent.x
actual
Variable x en la línea de t. que contiene el ../../:x _parent._parent.x
clip que contiene el actual clip
Variable x en la instancia clip1 en la actual clip1:x clip1.x
línea de t.
variable x en la instancia clip2 que reside clip1/clip2:x clip1.clip2.x
dentro de la instancia clip1 en la actual línea
de t.
Variable x en la línea de t. principal de una _leve1:x _leve1.x
película cargada en el nivel 1
Variable x en la línea de t. principal de una _level2:x _level2.x
película cargada en el nivel 2

• Datos y Tipos de Datos

o Expresiones: literales y variables


o Clasificación de los tipos de datos
o Cadenas
Uso de las comillas

Caracteres de escape

o Numéricos
o Booleanos
o Matrices (array)
Sintaxis

Argumentos

array.length

o Nulo (null)
o No definido (undefined)

Datos y Tipos de Datos

Un tipo de datos describe la clase de información que puede contener una variable o un elemento del script. Al contrario de otros
lenguajes de programación, los scripts no necesitan una declaración del tipo de dato.

Las sentencias de programación contienen instrucciones de script. Pero muchas instrucciones serían inútiles sin los datos. Cuando
creamos una variable, por ejemplo, asignamos cualquier dato como su valor. Cuando utilizamos el comando trace, pasamos datos como
argumento para mostrar en la ventana de salida.

Los datos son el contenido que manipulamos con el código ActionScirpt. A lo largo de sus scripts recuperará, dará, almacenará y
generalmente lanzará muchos datos.

Expresiones: literales y variables

En programación, a cualquier frase de código que produce datos se le llama expresión. El número 7 y la cadena "Bienvenido a nuestro
website" son expresiones. Representan datos simples que serán utilizados cuando funcione el programa. Estas expresiones se llaman
expresiones literales o simplemente, literales.

Los literales son solo un tipo de expresión. Una variable puede también ser una expresión. Las expresiones resultan mas interesantes
cuando se combinan con operadores.

La expresión 4 + 5, por ejemplo, es una expresión con dos valores individuales, 4 y 5, pero el operador mas crea la expresión entera que
produce el valor 9.

Expresiones grandes pueden contener otras expresiones mas cortas siempre que la frase entera de código pueda aún convertirse en un
solo valor. Veamos la variable texto:

var texto = "hola Flash";

Si queremos, podemos combinar la expresión variable texto con la expresión literal "¿Cómo estás?" de la siguiente manera:

texto + " ¿Cómo estás?"

lo cual resulta:

hola Flash ¿Cómo estás?

como resultado del funcionamiento del programa.

Frecuentemente se ven grandes expresiones que incluyen expresiones más cortas, por ejemplo, cuando se trabaja con la aritmética:
(2+3)*(4/2,5) -1

Clasificación de los tipos de datos

Los datos se pueden clasificar en:

Los tipos de datos principales (primitivos)

• Cadena

• Numérico

• Booleano

Los tipos de datos compuestos (de referencia)

• Objeto

• Matriz

Tipos de datos especiales

• null

• Undefined

Cadenas

Las cadenas son secuencias formadas por cero o más caracteres alfanuméricos y marcas. Deben escribirse entre comillas dobles (") o
simples ('). Pueden contener cualquier tipo de combinación de números, letras y símbolos. También pueden tener el valor nulo.

Ejemplos:

var color = "azul";


var telefono = "969139344";
var ciudad = "San Sebastian";

Uso de las comillas

Deberemos observar las normas de tener cadenas delimitadas por comillas simples dentro de otras más grandes delimitadas por
comillas dobles o viceversa.

"noche"
'noche'
"Escribimos la palabra 'noche'."
'Escribimos la palabra "noche".'

Caracteres de escape

Son códigos especiales que representan caracteres que no podríamos representar con letras o números: el tabulador, salto de línea,
etc. También se representan de este modo caracteres reservados al lenguaje de script como son las comillas.

escape Significado del carácter


\b Retroceso (ASCII 8)
\f Salto de página (ASCII 12)
\n Avance de línea (ASCII 10)
\r Retorno de carro (ASCII 13)
\t Tabulación (ASCII 9)
\" Comillas dobles
\' Comillas simples
\\ Barra inversa
\000 -\377 Un byte especificado en octal
\x00 - \xFF Un byte especificado en hexadecimal
\u000 - \uFFFF Un carácter Unicode de 16 bits especificado en hexadecimal
Numéricos

Los datos numéricos pueden ser: enteros, de coma flotante, hexadecimales y Octales. El tipo de dato numérico que se utiliza por
defecto es el de coma flotante de doble precisión.

Variables numéricas válidas pueden ser:

numero = 10;
numero = -10;
numeroFlotante = -10.1;
numeroFlotante = 3.14159265359;
numeroHexadecimal = FF3B;
numeroHexadecimal = 0xFF3B;
numeroOctal = 1230;

Booleanos

Con este tipo de datos podemos distinguir dos valores: Verdadero (true) y Falso (false). También pueden devolver 1 (true) ó 0 (false).
Se utilizan en sentencias que realizan comparaciones para controlar el flujo de un script. Los valores booleanos, true y false, deben
escribirse siempre en minúscula.

Ejemplos:

hoySabado = true;
if (hoySabado == true) {
fiesta="Si";
}

Matrices (array)

Una matriz es un conjunto de datos del mismo tipo, identificados por un índice.

Ejemplo:

// Podemos crear una matriz con los empleados de una empresa:

Empleados[4]
empleados[0] = "Pedro";
empleados[1] = "Juan";
empleados[2] = "Ana";
empleados[3] = "Luisa";

Sintaxis

new Array(arrayLength);

new Array(element0, element1, ..., elementN);

Argumentos

arrayLength
número de elementos de la matriz. Empieza por cero, si no indicamos lo contrario. Es opcional
elementN
cada elemento que compone la matriz.

array.length

Se puede saber el número de elementos de una matriz (array) con la propiedad length.

Ejemplo:

numeroEmpleados = Empleados.length

Nulo (null)

Se utiliza para comprobar si una variable que hemos definido tiene ya un valor asignado o no. También puede utilizarse para representar
valores que faltan o que no tienen un tipo de datos definido.

No definido (undefined)
Se devuelve el valor no definido al utilizar una propiedad de objeto que no existe o una variable que se ha declarado, pero a la que no se
ha asignado un valor.

• Operadores

o Operadores de Asignación
Operador de asignación =

Operadores de asignación abreviados

o Operadores Aritméticos
Suma +

Incremento ++

Resta -

Negación unaria -

Decremento --

Multiplicación *

División /

Módulo %

o Operadores lógicos
o Operadores de bit
AND como bit: a & b

XOR: a ^ b

OR: a | b

NOT: ~a

Desplazamiento de bits a la derecha: expr1 >> expr2

Desplazamiento de bits a la izquierda: expr1 << expr2

Desplazamiento de bits a la derecha sin signo: expr1 >>> expr2

o Operadores varios
(condicional) ?:

(Operador coma) ,

delete

new

this

typeof

void

Operador punto (.)

Operador de acceso a una matriz ([ ])

o Precedencia de operadores

Operadores

Operadores de Asignación

Descripción Símbolo
Asignación =
Operador de asignación =

Asigna el tipo de dato o instrucción de la expresión2 a la variable, matriz o propiedad de expresión1.

Sintaxis

expresion1 = expresión2

Argumentos

expresion1: Cualquier variable, matriz o propiedad de un objeto

expresión2: Puede ser cualquier tipo de dato o instrucción.


Comentarios

Como el operador = se comporta como otros operadores, las expresiones que lo utilizan tienen también un valor, además de asignar ese
valor a variable.

Esto significa que puede encadenar operadores de asignación como se muestra a continuación:

x = y = z = 23;

Ejemplos

x = 5;
x = y = "texto";
x = 5%24

Operadores de asignación abreviados

Operador Significado
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
x %= y x = x % y
x <<= y x = x << y
x >>= y x = x >> y
x &= y x = x & y
x ^= y x = x ^ y
x |= y x = x | y

Operadores Aritméticos

Descripción Símbolo
Suma +
Incremento ++
Resta -
Negación unaria -
Decremento --
Multiplicación *
División /
Módulo %
Suma +

Suma el valor de una expresión numérica a otra, o concatena dos cadenas. Si una expersión es una cadena, todas las demás
expresiones se convierten en cadenas y se concatenan.

Sintaxis

variable = expresion1 + expresion2

Argumentos

variable: Cualquier variable

expresion1 y expresion2: Números o cadenas.

Comentarios

En flash 4 la suma + es sólo un operador de números, no de cadenas, así que si se incorporan a flash 5 sufren una transformación para
mantener íntegro el tipo de datos.

Ejemplo

trace (5 + 8);
cadena = "Suma " + "de " + " cadenas";

Caso de add
En Flash 4 se utilizaba el operador & para sumar cadenas. Flash 5 utiliza el operador add para sustituir el símbolo & y realizar bien la
conversión. Si embargo, el operador add se desestima en Flash 5 en favor del operador suma +.

Utilice sólo el operador add para sumar cadenas si está creando contenido para Flash 4 o para versiones anteriores.

Incremento ++

Este operador incrementa (añade uno a ) su operando y devuelve un valor.

El operador incremento se puede utilizar de dos formas:

variable++
++variable

Caso variable++

Si el operador incremento se encuentra después del operando, incrementa su operando y devuelve el valor de antes del incremento.

Ejemplo:

var x,y;
x = 3;
y = x++;

Si x es tres, entonces la sentencia y = x++ hace que:

y = 3
x = 4

Caso ++variable

Si el operador incremento se encuentra antes del operando, incrementa su operando y devuelve el valor de después del incremento.

Ejemplo:

var x, y;
x = 3;
y = ++x;

Si x es tres, entonces la sentencia y = ++x hace que:

y = 4
x = 4

Resta -

Resta el valor de una expresión a otra, o proporciona valor negativo a una expresión única. Cuando se utiliza para restar, realiza una
resta aritmética sobre dos expresiones numéricas, restando expresión2 de expresión1.

Sintaxis

variable = expresion1 - expresion2

Argumentos

variable: cualquier variable.

expresion1, expresion2: Cualquier número.

Ejemplo

var x;
x = 10 - 5;

Negación unaria -

El operador -, cuando se utiliza para negar, invierte el signo de la expresión numérica.


Sintaxis

- expresion

Argumentos

expresion: Cualquier número

Ejemplo

var x;
x = - (3+10);

El resultado será x = -13.

Decremento --

Este operador decrementa (resta uno a ) su operando y devuelve un valor.

El operador decremento se puede utilizar de dos formas:

variable--
--variable

Caso variable--

Si el operador decremento se encuentra después del operando, decrementa su operando y devuelve el valor de antes del decremento.

Ejemplo:

var x, y;
x = 3;
y = x--;

Si x es tres, entonces la sentencia y = x-- hace que:

y = 3
x = 2

Caso --variable

Si el operador decremento se encuentra antes del operando, decrementa su operando y devuelve el valor de después del decremento.

Ejemplo:

var x, y;
x = 3;
y = --x;

Si x es tres, entonces la sentencia y = --x hace que:

y = 2
x = 2

Multiplicación *

Multiplica el valor de dos expresiones.

Sintaxis

variable = número1*número2

Argumentos

variable: Cualquier variable.

número1, número2: Cualquier expresión.


Ejemplo

var x;
x = 5 * 2;
donde x = 10

División /

Divide el valor de dos expresiones.

Sintaxis

variable = número1/número2

Argumentos

variable: Cualquier variable.

número1, número2: Cualquier expresión.

Ejemplo

var x;
x = 10 / 2;

donde x = 5

Módulo %

Sintaxis

x = expresion1 % expresion2

Argumentos

expresion1, expresion2: Valores numéricos.

Comentario

El operador módulo calcula el resto de expresion1 divididio por expresion2. Si cualquiera de los dos operandos no es numérico, el
operador módulo intentará convertirlo.

Ejemplo

var x;
x = 12 % 5;

Donde x = 2

Operadores lógicos

Operador Significado
== Igual (==)

Devuelve verdadero si los operandos son iguales.


Ejemplo:
var1 = 4; var2 = 5
4 == var1
!= No igual (!=)

Devuelve verdadero si los operandos no son iguales.


var1 != 5
> Mayor que (>)

Devuelve verdadero si el operando de la izquierda es más grande


que el de la derecha.

var2 > var1


>= Mayor o igual que (>=)

Devuelve verdadero si el operando de la izquierda es más grande o


igual que el operando de la derecha.

var2 >= var1


var1 >= 4
< Menos que (<)

Devuelve verdadero si el operando de la izquierda es menor que el


operando de la derecha.
var1 < var2
<= Menor o igual que

Devuelve verdadero si el operando de la izquierda es menor o igual


que el operando de la derecha.
var1 <= var2
var2 <= 5
&& And lógico: expr1 && expr2

Si el resultado es false, devuelve expr1.


Si el resultado es true, devuelve expr2.

Funcionamiento:

Falso && Verdadero -> False.


Falso && Falso -> False.
Verdadero && Falso -> False.
Verdadero && Verdadero -> True.
|| OR Lógico: expr1 || expr2

Si el resultado es true, devuelve expr1.


Si el resultado es false, devuelve expr2.

Funcionamiento:

Falso || Verdadero -> True.


Falso || Falso -> False.
Verdadero || Verdadero -> True.
Verdadero || Falso -> True.
! not lógico
!expr

Si expr es verdadera, devuelve false.


Si expr es falso, devuelve true.

Operadores de bit

AND como bit: a & b

Convierte a y b en dos números de 32 bits y realiza la operación booleana AND.

Devuelve un 1 en una posición sólo si ambos operandos son 1.

Ejemplo:

1100
1011
-----
1000

XOR: a ^ b

Convierte a y b en dos números de 32 bits y realiza la operación boolena XOR.

Devuelve un 1 en una posición si el bit de un operando (cualquiera) es uno, pero del otro operando es cero.

Ejemplo:

1100
1011
-----
0111

OR: a | b

Convierte a y b en dos números de 32 bits y realiza la operación booleana OR

Devuelve un 1 en una posición cuando al menos uno de los dos bits correspondientes es uno.

Ejemplo:

1100
1011
-----
1111

NOT: ~a

Convierte a en un número de 32 bits y realiza la operación booleana NOT

Devuelve un 1 en una posición cuando el bits correspondientes es 0 y viceversa.

Ejemplo:

1100
-----
0011

Desplazamiento de bits a la derecha: expr1 >> expr2

Convierte a y b en dos números de 32 bits y desplaza a la derecha los bits de expr1 tantos lugares como indica expr2.

Desplazamiento de bits a la izquierda: expr1 << expr2

Convierte expr1 y expr2 en dos números de 32 bits y desplaza a la izquierda los bits de expr1 tantos lugares como indica expr2.
Desplazamiento de bits a la derecha sin signo: expr1 >>> expr2

Convierte expr1 y expr2 en dos números de 32 bits y desplaza los bits de expr1 hacia la derecha, el número de bits especificado en
expr2.

Los bits insertados por la derecha se rellenan con ceros. Los dígitos desplazado hacia la derecha se descartan.

Operadores varios

(condicional) ?:

Este operador es el único que toma tres operandos. Se utiliza como una abreviación de la instrucción condición if.

Sintaxis

condición ? expr1 : expr2

Argumentos

condición: Expresión que evalúa verdadero o falso.

expr1, expr2: Expresiones que pueden ser valores de cualquier tipo.

Descripción

Si la condición es verdadera, el operador devuelve el valor de la expr1. En caso contrario, devuelve el valor de expr2.

Ejemplo

var color = "azul";


...
(color =="azul") ? "cielo" : "tierra";

(Operador coma) ,

Evalúa los dos operandos y devuelve el valor del segundo.

Sintaxis

expr1, expr2

Argumentos

expr1, expr2
: Cualquier expresión.

Descripción

El operador coma se utiliza cuando se quiere incluir expresiones múltiples en un lugar que requiere una sola. Se suele utilizar en la
instrucción for para indicar varios argumentos.

Ejemplo

var x = 1, y = 2, z = 3

equivale a decir:

var x = 1;
var y = 2;
var z = 3;

delete

Suprime la propiedad de un objeto o un elemento en el índice de una matriz.

Sintaxis
delete nombreObjeto.propiedad
delete nombreObjeto[índice]
delete propiedad.

Argumentos

nombreObjeto: El nombre de un objeto.

propiedad:Una propiedad existente.

índice: Número entero que representa la ubicación de un elemento en una matriz.

Descripción

La tercera forma sólo está permitida dentro de una instrucción.

Si la operación tiene éxito, el operador destruye el objeto o variable especificados. Es útil para liberar la memoria de ordenador cuando
ya no se necesita un elemento.

new

Este operador permite crear una instancia de un tipo de objeto definido por el usuario o construido por un constructor.

Sintaxis

nombreObjeto = new tipoObjeto (argumento1 [,argumento2] ... [,argumentoN]).

Argumentos

nombreObjeto: Nombre de la nueva instancia.

tipoObjeto: Debe ser una función que defina un tipo de objeto

argumento1, argumentoN: Propiedades para el objeto.

Descripción

Crea un tipo de objeto definido por el usuario que requiere dos pasos:

• Definir el tipo de objeto definiendo la función.

• Crear una instancia del objeto con new.

Para definir un tipo de objeto, se crea una función que especifica su nombre, propiedades y métodos. Un objeto puede tener una
propiedad que también sea propiedad de otro objeto.

Ejemplo

En el ejemplo se define una función llamada producto:

function producto (codigo, cantidad, precio) {


this.codigo = codigo;
this.cantidad = cantidad;
this.precio = precio;
}

Y se crean dos instancias del producto:

producto1 = new producto ("cd0034", 123, 190);


producto2 = new producto ("cd0035", 100, 198);

this

Se trata de una palabra clave que se puede utilizar para referirse al objeto actual.

Sintaxis

this[.nombrePropiedad]
Argumentos

nombrePropiedad: Nombre de la propiedad.

Descripción

Palabra clave. Hace referencia a una instancia de objeto.

typeof

El operador typeof devuelve una cadena que indica el tipo de operando que está siendo evaluado, si se trata de una cadena, variable,
palabra clave, etc.

Los paréntesis son opcionales.

Sintaxis

El operador typeof se utiliza de una de las dos formas siguientes:

typeof expr
typeof (expr)

Argumentos

expr: Cualquier cosa: cadena, función, objeto...

Ejemplo

var color = "rojo";


var precio = 1992;
var hoy = new Date();

typeof de color es cadena (string)


typeof de precio es número (number)
typeof de hoy es objeto (object)

void

Sintaxis

void (expresión)
void expresión

Argumento

expresión: Una expresión de cualquier valor.

Descripción

El operador void especifica una expresión para ser evaluada sin devolver un valor.

Se puede utilizar el operador void para especificar un enlace de hipertexto que no descargue ningún recurso. La expresión se evalúa,
pero no se descarga nada.

Operador punto (.)

Junto con el operador de acceso a una matriz ([]), se utiliza para acceder a una propiedad de un objeto.

Sintaxis

camino.objeto.propiedad = valor;

Ejemplos

articulo1.codigo = "C113";
_root.articulo1.precio = "200";
Operador de acceso a una matriz ([ ])

El operador de acceso a una matriz evalúa su contenido respecto a un nombre y después accede al valor de esa propiedad con nombre.

Sintaxis

objeto[variable]
camino.objeto[variable]

Comentario

El operador de acceso a una matriz se utiliza para establecer y recuperar de forma dinámica nombres de instancias y variables.

Ejemplos

var i = 1;
_root["clip" + i]._alpha = 50;
i ++

En flash 4 equivale a eval:

eval("clip" & i)

Precedencia de operadores

La precedencia de operadores es un conjunto de normas que controla el orden en el que se realizan las operaciones al evaluar una
expresión.

Las operaciones con mayor precedencia se realizan antes que las de menor prioridad. Por ejemplo, la multiplicación se realiza antes
que la suma.

La tabla siguiente muestra una lista de los operadores en orden de precedencia de mayor a menor. Los operadores con la misma
precedencia se evalúan de izquierda a derecha.

Operador Descripción
. [] () Acceso a campos, matrices, llamadas a funciones y
agrupamiento de expresiones
++ -- - ~ ! delete new Operadores aritméticos unarios, tipos de datos
typeof void devueltos, creación de objetos, valores no definidos
*/% Multiplicación, división, división módulo
+-+ Suma, resta, concatenación de cadenas
<< >> >>> Desplazamiento de bits
< <= > >= Menor que, menor que o igual a, mayor que, mayor que
o igual a
== != Igualdad, desigualdad, igualdad estricta y desigualdad
estricta
& AND de bits
^ XOR de bits
| OR de bits
&& AND lógico
|| OR lógico
?: Condicional
, Evaluación múltiple

También podría gustarte