Adobe Guía de Consulta de ActionScript User Manual [es]

®
ma cromedia
FLASH™5
Guía de Consulta de ActionScript
Marcas comerciales
Macromedia, el logotipo de Macromedia, el logotipo de Made With Macromedia, Authorware, Backstage, Director, Extreme 3D y Fontographer son marcas comerciales registradas. Afterburner, AppletAce, Authorware Interactive Studio, Backstage, Backstage Designer, Backstage Desktop Studio, Backstage Enterprise Studio, Backstage Internet Studio, DECK II, Director Multimedia Studio, Doc Around the Clock, Extreme 3D, Flash, FreeHand, FreeHand Graphics Studio, Lingo, Macromedia xRes, MAGIC, Power Applets, Priority Access, SoundEdit, Shockwave, Showcase, Tools to Power Your Ideas y Xtra son marcas comerciales de Macromedia, Inc. Otros nombres de productos, logotipos, diseños, títulos, palabras o frases mencionados en esta publicación pueden ser marcas comerciales, marcas de servicio o nombres registrados de Macromedia, Inc. o de otras entidades y pueden estar registrados en ciertas jurisdicciones.
Limitación de garantías de Apple APPLE COMPUTER, INC. NO GARANTIZA, DE FORMA EXPRESA NI IMPLÍCITA, LA COMERCIABILIDAD
O IDONEIDAD PARA UN FIN DETERMINADO DEL PAQUETE DE SOFTWARE INFORMÁTICO INCLUIDO. LA EXCLUSIÓN DE GARANTÍAS IMPLÍCITAS NO ESTÁ PERMITIDA EN ALGUNOS ESTADOS. LA RESTRICCIÓN ANTERIOR PUEDE NO AFECTARLE. ESTA GARANTÍA LE PROPORCIONA DERECHOS LEGALES ESPECÍFICOS. PUEDE TENER OTROS DERECHOS QUE VARÍAN SEGÚN LA LEGISLACIÓN LOCAL.
Copyright © 2000 Macromedia, Inc. Todos los derechos reservados. No se permite la copia, fotocopia, reproducción, traducción o conversión mediante ningún medio electrónico o mecánico, ya sea de forma total o parcial, sin la previa autorización por escrito de Macromedia, Inc. Nº de pieza ZFL50M200SP
Agradecimientos
Gestión del proyecto: Erick Vera
Redacción: Jody Bleyle, Mary Burger, Louis Dobrozensky, Stephanie Gowin, Marcelle Taylor y Judy Walthers Von Alten
Edición: Peter Fenczik, Rosana Francescato, Ann Szabla
Multimedia: George Brown, John “Zippy” Lehnus y Noah Zilberberg
Diseño de Ayuda e impresión: Chris Basmajian y Noah Zilberberg
Producción: Chris Basmajian y Rebecca Godbois
Gestión del proyecto de localización: Yuko Yagi
Producción de localización: Masayo “Noppe” Noda y Bowne Global Solutions
Agradecimiento especial a: Pablo Francisco Arrieta, Jeremy Clark, Brian Dister y todo el Grupo de Desarrollo de Flash, Michael Dominguez, Margaret Dumas, Rosa Elva Elizondo, Sherri Harte, Yoshika Hedberg, Tim Hussey, Kipling Inscore, Alyn Kelley, Pete Santangeli, Denise Seymour y todo el Grupo de Control de calidad de Flash, Cyn Taylor y Eric Wittman
Primera edición: Septiembre de 2000
Macromedia, Inc. 600 Townsend St. San Francisco, CA 94103 (EE.UU.)
2
TABLE DES MATIÈRES
INTRODUCTION
Procedimientos iniciales . . . . . . . . . . . . . . . . . . . . . . . . 17
Novedades en el lenguaje ActionScript de Flash 5 . . . . . . . . . . . . . . . . 17
Diferencias entre ActionScript y JavaScript . . . . . . . . . . . . . . . . . 18
Edición de texto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Sintaxis de punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Funciones definidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . 19
Objetos predefinidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Acciones de clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Acciones nuevas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Clips inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Depurador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Compatibilidad con XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Optimización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Utilización de la Ayuda de Flash
para acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
CAPÍTULO 1
El lenguaje ActionScript . . . . . . . . . . . . . . . . . . . . . . . .23
Creación de scripts en ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Planificación y depuración de scripts . . . . . . . . . . . . . . . . . . . . . . 25
Creación de scripts orientados a objetos . . . . . . . . . . . . . . . . . . . 26
Objeto MovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Flujo de los scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Control de la ejecución de ActionScript . . . . . . . . . . . . . . . . . . . . 31
Terminología de ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Análisis de un script de ejemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3
Utilización del panel Acciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Modo Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Modo Experto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Cambio del modo de edición . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
Utilización de un editor externo. . . . . . . . . . . . . . . . . . . . . . . . . . .42
Selección de opciones en el panel Acciones . . . . . . . . . . . . . . . . . .42
Realzado y comprobación de la sintaxis . . . . . . . . . . . . . . . . . . . . .44
Realzado de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Asignación de acciones a los objetos . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Asignación de acciones a fotogramas . . . . . . . . . . . . . . . . . . . . . . . . . .48
CAPÍTULO 2
Programación de Scripts en ActionScript. . . . . . . . 51
Utilización de la sintaxis de ActionScript. . . . . . . . . . . . . . . . . . . . . . . .52
Tipos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
Acerca de las variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Utilización de operadores para manipular los valores de las expresiones.64
Uso de acciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
Control de los scripts de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Utilización de las funciones predefinidas . . . . . . . . . . . . . . . . . . . . . . . .76
Creación de funciones personalizadas . . . . . . . . . . . . . . . . . . . . . . . . . .78
Utilización de objetos predefinidos . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Utilización de objetos personalizados. . . . . . . . . . . . . . . . . . . . . . . . . . .85
Apertura de archivos de Flash 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Utilización de Flash 5 para crear contenidos de Flash 4 . . . . . . . . . . . . .89
Table des Matières
4
CAPÍTULO 3
Interactividad con ActionScript . . . . . . . . . . . . . . . . . 91
Creación de un cursor personalizado . . . . . . . . . . . . . . . . . . . . . . . . . .92
Obtención de la posición del ratón . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Captura de presión de una tecla . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
Creación de un campo de texto desplazable . . . . . . . . . . . . . . . . . . . . .97
Establecimiento de los valores de color . . . . . . . . . . . . . . . . . . . . . . . .100
Creación de controles de sonido . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
Detección de colisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
CAPÍTULO 4
Trabajo con clips de película . . . . . . . . . . . . . . . . . . .109
Líneas de tiempo múltiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Relación jerárquica de las Líneas de tiempo . . . . . . . . . . . . . . . . .112
Envío de mensajes entre Líneas de tiempo . . . . . . . . . . . . . . . . . .114
Rutas de destino absolutas y relativas . . . . . . . . . . . . . . . . . . . . . .117
Especificación de rutas de destino . . . . . . . . . . . . . . . . . . . . . . . .121
Utilización de acciones y métodos para controlar Líneas de tiempo . .124
Acerca de métodos versus acciones . . . . . . . . . . . . . . . . . . . . . . . .125
Utilización de varios métodos o acciones para seleccionar como desti-
no a una Línea de tiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Asignación de una acción o método . . . . . . . . . . . . . . . . . . . . . . .127
Carga y descarga de películas adicionales . . . . . . . . . . . . . . . . . . .128
Cambio de posición y aspecto de clips de película . . . . . . . . . . . .128
Clips de película que se pueden arrastrar . . . . . . . . . . . . . . . . . . .129
Duplicación y eliminación de clips de película . . . . . . . . . . . . . .130
Anexión de clips de película . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Creación de clips inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Definición de los parámetros de clip . . . . . . . . . . . . . . . . . . . . . .132
CAPÍTULO 5
Integración de Flash con aplicaciones Web . . . . . 139
Envío y carga de variables a y desde un archivo remoto . . . . . . . . . . .140
Utilización de loadVariables, getURL y loadMovie . . . . . . . . . . .144
Lenguaje XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Utilización del objeto XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
Utilización del objeto XMLSocket . . . . . . . . . . . . . . . . . . . . . . . .150
Creación de formularios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Creación de un formulario de búsqueda. . . . . . . . . . . . . . . . . . . .153
Utilización de variables en formularios. . . . . . . . . . . . . . . . . . . . .154
Verificación de datos introducidos . . . . . . . . . . . . . . . . . . . . . . . .155
Envío de mensajes desde y hasta el Reproductor de Flash. . . . . . . . . .156
Utilización de fscommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Acerca de los métodos de Flash Player . . . . . . . . . . . . . . . . . . . . .159
Table des Matières
5
CAPÍTULO 6
Solución de problemas de ActionScript . . . . . . . . .161
Directrices para la creación y solución de problemas . . . . . . . . . . . . . .162
Utilización del Depurador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
Habilitación de la depuración de películas . . . . . . . . . . . . . . . . . .165
La barra de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
La lista de visualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
Visualización y modificación de variables. . . . . . . . . . . . . . . . . . .166
Utilización de la lista Observar. . . . . . . . . . . . . . . . . . . . . . . . . . .168
Visualización de las propiedades de las películas y modificación de las
propiedades editables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
Utilización de la ventana Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
Utilización del comando Mostrar objetos . . . . . . . . . . . . . . . . . .171
Utilización del comando Mostrar variables . . . . . . . . . . . . . . . . .172
Utilización de la acción trace . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
CAPÍTULO 7
Diccionario de ActionScript. . . . . . . . . . . . . . . . . . . . 175
Entrada de muestra para la mayoría de los elementos de ActionScript .176
Entrada de muestra para objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Contenido del diccionario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
–– (disminución) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
++ (incremento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
! (valor NOT lógico) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
!= (no igualdad). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
% (módulo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
%= (asignación de módulo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
& (operador AND como bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
&& (operador AND de cortocircuito) . . . . . . . . . . . . . . . . . . . . . . . .196
&= (operador de asignación AND como bit) . . . . . . . . . . . . . . . . . . .196
() (paréntesis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
– (menos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
* (multiplicación) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
*= (asignación de multiplicación) . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
, (coma). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
. (operador punto). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201
?: (condicional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
/ (división) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
// (delimitador de comentario) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
Table des Matières
6
/* (delimitador de comentario) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
/= (asignación de división). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
[] (operador de acceso a matriz). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
^(operador XOR como bit). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
^= (operador de asignación XOR como bit) . . . . . . . . . . . . . . . . . . . .206
{} (inicializador de objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
| (operador OR como bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
|| (operador OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
|= (operador de asignación OR como bit) . . . . . . . . . . . . . . . . . . . . . .209
~ (operador NOT como bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
+ (suma) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
+= (asignación de suma) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
< (menor que) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
<< (desplazamiento a la izquierda como bit) . . . . . . . . . . . . . . . . . . . .213
<< (desplazamiento a la izquierda como bit y asignación) . . . . . . . . . .214
<= (menor o igual que) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
<> (no igualdad) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
= (asignación) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
-= (asignación de negación) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
== (igualdad). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
> (mayor que) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
>= (mayor o igual que) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
>> (desplazamiento a la derecha como bit) . . . . . . . . . . . . . . . . . . . . .220
>>= (desplazamiento a la derecha como bit y asignación) . . . . . . . . . .221
>>> (desplazamiento a la derecha como bit sin signo) . . . . . . . . . . . . .222
>>>= (desplazamiento a la derecha como bit sin signo y asignación) . .222
add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
_alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
and . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224
Array (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
Array.concat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
Array.join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
Array.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
Array.pop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Array.push. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
Array.reverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
Array.shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
Array.slice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
Array.sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
Array.splice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
Table des Matières
7
Array.toString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
Array.unshift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
Boolean (función) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
Boolean (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234
Boolean.toString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
Boolean.valueOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
break. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
chr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
Color (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
Color.getRGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Color.getTransform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Color.setRGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240
Color.setTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240
continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
_currentframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
Date (objeto). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
Date.getDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
Date.getDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
Date.getFullYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
Date.getHours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
Date.getMilliseconds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
Date.getMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
Date.getMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
Date.getSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
Date.getTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
Date.getTimezoneOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
Date.getUTCDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
Date.getUTCDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
Date.getUTCFullYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Date.getUTCHours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Date.getUTCMilliseconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Date.getUTCMinutes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
Date.getUTCMonth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
Date.getUTCSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
Date.getYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Date.setDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Date.setFullYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Date.setHours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
Date.setMilliseconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
Table des Matières
8
Date.setMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Date.setMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Date.setSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255
Date.setTime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
Date.setUTCDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
Date.setUTCFullYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
Date.setUTCHours. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
Date.setUTCMilliseconds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
Date.setUTCMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
Date.setUTCMonth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
Date.setUTCSeconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
Date.setYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
Date.toString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
Date.UTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
do...while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
_droptarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
duplicateMovieClip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
eq (equal—string specific) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
escape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
eval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
evaluate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
_focusrect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
for. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268
for...in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270
_framesloaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271
fscommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
ge (mayor o igual que, específico de cadena) . . . . . . . . . . . . . . . . . . . .274
getProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
getTimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
getURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
gotoAndPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
gotoAndStop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
gt (greater than —string specific) . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
_height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
_highquality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Table des Matières
9
ifFrameLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
#include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
Infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
int. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
isFinite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
isNaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282
Key (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283
Key.BACKSPACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
Key.CAPSLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
Key.CONTROL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
Key.DELETEKEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
Key.DOWN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
Key.END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
Key.ENTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
Key.ESCAPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
Key.getAscii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
Key.getCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
Key.HOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
Key.INSERT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
Key.isDown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
Key.isToggled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
Key.LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
Key.PGDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Key.PGUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Key.RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
Key.SHIFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Key.SPACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Key.TAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Key.UP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
le (menor o igual que—específico de cadena) . . . . . . . . . . . . . . . . . . .292
length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292
_level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
loadMovie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
loadVariables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
lt (menor que, específico de cadena) . . . . . . . . . . . . . . . . . . . . . . . . . .297
Matemáticas (objeto). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
Math.abs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
Math.acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
Math.asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300
Math.atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300
Table des Matières
10
Math.atan2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
Math.ceil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
Math.cos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
Math.E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
Math.exp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
Math.floor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Math.log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Math.LOG2E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Math.LOG10E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304
Math.LN2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .304
Math.LN10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Math.max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Math.min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305
Math.PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
Math.pow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
Math.random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
Math.round . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
Math.sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
Math.sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
Math.SQRT1_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
Math.SQRT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
Math.tan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
maxscroll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309
mbchr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
mblength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .310
mbord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
mbsubstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
Mouse (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Mouse.hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .312
Mouse.show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
MovieClip (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
MovieClip.attachMovie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
MovieClip.duplicateMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315
MovieClip.getBounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
MovieClip.getBytesLoaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
MovieClip.getBytesTotal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .317
MovieClip.getURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
MovieClip.globalToLocal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .318
MovieClip.gotoAndPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
MovieClip.gotoAndStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
Table des Matières
11
MovieClip.hitTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
MovieClip.loadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
MovieClip.loadVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322
MovieClip.localToGlobal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323
MovieClip.nextFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324
MovieClip.play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324
MovieClip.prevFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324
MovieClip.removeMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
MovieClip.startDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
MovieClip.stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
MovieClip.stopDrag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
MovieClip.swapDepths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
MovieClip.unloadMovie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
_name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
NaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328
ne (no igual, específico de cadena). . . . . . . . . . . . . . . . . . . . . . . . . . . .328
new . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .328
newline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329
nextFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
nextScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
Number (función). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332
Number (objeto). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332
Number.MAX_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334
Number.MIN_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334
Number.NaN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335
Number.NEGATIVE_INFINITY . . . . . . . . . . . . . . . . . . . . . . . . . . .335
Number.POSITIVE_INFINITY . . . . . . . . . . . . . . . . . . . . . . . . . . . .335
Number.toString. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
Number.valueOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
Object (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
Object.toString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338
Object.valueOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338
onClipEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .338
on(mouseEvent) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .340
or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
ord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
_parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .342
parseFloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343
Table des Matières
12
parseInt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344
play. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345
prevFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .345
prevScene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346
print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346
printAsBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348
_quality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .349
random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
removeMovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
_root. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
_rotation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
scroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
Selection (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
Selection.getBeginIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
Selection.getCaretIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
Selection.getEndIndex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355
Selection.getFocus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355
Selection.setFocus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
Selection.setSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .356
setProperty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
Sound (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
Sound.attachSound. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
Sound.getPan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
Sound.getTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
Sound.getVolume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
Sound.setPan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
Sound.setTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362
Sound.setVolume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
Sound.start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
Sound.stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
_soundbuftime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
startDrag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
stop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
stopAllSounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .368
stopDrag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369
String (función). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .369
" " (delimitador de cadena) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370
Cadena (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .371
Table des Matières
13
String.charAt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
String.charCodeAt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
String.concat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
String.fromCharCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
String.indexOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
String.lastIndexOf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
String.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375
String.slice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375
String.split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
String.substr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
String.substring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377
String.toLowerCase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377
String.toUpperCase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
substring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
_target. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .378
targetPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
tellTarget. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379
this . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
toggleHighQuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
_totalframes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .382
trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .382
typeof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383
unescape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384
unloadMovie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384
updateAfterEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385
_url. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .386
var. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .386
_visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .386
void. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387
_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392
XML (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393
XML.appendChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .395
XML.attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
XML.childNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
XML.cloneNode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
XML.createElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398
XML.createTextNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398
Table des Matières
14
XML.docTypeDecl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399
XML.firstChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400
XML.haschildNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400
XML.insertBefore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401
XML.lastChild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401
XML.load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .402
XML.loaded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .402
XML.nextSibling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
XML.nodeName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
XML.nodeType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
XML.nodeValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
XML.onLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .405
XML.parentNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406
XML.parseXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406
XML.previousSibling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406
XML.removeNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407
XML.send. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407
XML.sendAndLoad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .407
XML.status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408
XML.toString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409
XML.xmlDecl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409
XMLSocket (objeto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410
XMLSocket.close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .412
XMLSocket.connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413
XMLSocket.onClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .414
XMLSocket.onConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415
XMLSocket.onXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416
XMLSocket.send. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417
_xmouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .418
_xscale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .418
_y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
_ymouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .420
_yscale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .420
Table des Matières
15
APÉNDICE A
Precedencia de operadores y asociatividad . . . . . 421
Lista de operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .421
APÉNDICE B
Teclas del teclado y valores de códigos de tecla 425
Letras de la A a la Z y números estándar del 0 al 9 . . . . . . . . . . . . . . .426
Teclas del teclado numérico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428
Teclas de función. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .429
Otras teclas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .430
APÉNDICE C
Mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Table des Matières
16

INTRODUCTION

Procedimientos iniciales

.............................................................................................................
ActionScript es el lenguaje de creación de scripts de Flash. Puede utilizar ActionScript para controlar objetos en las películas de Flash con el fin de crear elementos interactivos y de navegación y para ampliar Flash con el fin de crear películas altamente interactivas y aplicaciones Web.
Novedades en el lenguaje ActionScript de Flash 5
El lenguaje ActionScript de Flash 5 ofrece nuevas funciones muy interesantes para la creación de sitios Web interactivos con juegos, formularios, encuestas e interactividad en tiempo real sofisticadas como los sistemas de chat.
ActionScript de Flash 5 tiene muchas funciones y convenciones de sintaxis nuevas que lo hacen similar en lo fundamental al lenguaje de programación JavaScript. En este manual se explicarán los conceptos básicos de programación como funciones, variables, sentencias, operadores, condicionales y bucles. El Capítulo 7 de esta manual, “Diccionario de ActionScript”, contiene entradas detalladas para cada elemento de ActionScript.
En este manual no se pretende enseñar programación en general. Existen muchos recursos disponibles que proporcionan información sobre los conceptos generales de programación y sobre el lenguaje JavaScript.
17
La Asociación de Fabricantes de PCs Europea (ECMA, European Computers Manufacturers Association) publicó un documento llamado ECMA-262 que se deriva de JavaScript y que sirve como el estándar internacional para el lenguaje JavaScript. ActionScript está basado en la especificación ECMA-262 que se encuentra disponible en http://www.ecma.ch.
Netscape DevEdge Online tiene un centro de desarrollo de JavaScript (JavaScript Developer Central http://developer.netscape.com/tech/javascript/index.html) que contiene documentación y artículos útiles para comprender ActionScript. El recurso más valioso es el manual Core JavaScript Guide que se encuentra en la dirección http://developer.netscape.com/docs/manuals/js/core/jsguide/index.htm.
Diferencias entre ActionScript y JavaScript
No es necesario que conozca JavaScript para utilizar y aprender ActionScript. Sin embargo, si ya conoce JavaScript, ActionScript le parecerá familiar. Algunas de las diferencias entre ActionScript y JavaScript se detallan a continuación:
ActionScript no admite objetos específicos de navegador como Documento, Ventana y Ancla.
ActionScript no admite por completo todos los objetos predefinidos
de JavaScript.
ActionScript admite las construcciones sintácticas que no se permiten en JavaScript (por ejemplo, las acciones
tellTarget
ifFrameLoaded
y
y la
sintaxis de barras).
ActionScript no admite algunas de las construcciones sintácticas de JavaScript, como los rótulos
ActionScript no admite el constructor de JavaScript
En ActionScript, la acción de variables
En JavaScript, compatibilidad con Flash 4,
En JavaScript, evaluar
. En Flash 5, por compatibilidad con Flash 4 , evaluar
NaN
switch, continue, try, catch, throw
solamente puede realizar referencias
eval
.
toString
undefined
de
undefined toString
es
de
undefined
en un contexto numérico da como resultado
undefined
statement
y
Function
.
. En Flash 5, para su
es
.
" "
undefined
da como
.
resultado 0.
ActionScript no admite Unicode; admite ISO-8859-1 y conjuntos de
caracteres Shift-JIS.
18
Introduction
Edición de texto
Puede introducir scripts directamente en el panel Acciones en Modo Experto. También puede elegir elementos de un menú emergente o de una lista de la Caja de herramientas como lo hacía en Flash 4.
Sintaxis de punto
Puede utilizar la sintaxis de punto para obtener y establecer las propiedades y los métodos de un objeto, incluidas instancias y variables de clip de película. Puede utilizar la sintaxis de punto en lugar de la sintaxis de barras que se utilizaba en Flash 4. Ya no se utiliza la sintaxis de barras, pero aún la admite Flash Player.
Tipos de datos
El lenguaje ActionScript de Flash 5 admite los siguientes tipos de datos: cadena, número, booleano, objeto y clip de película. Los distintos tipos de datos le permiten utilizar diferentes tipos de información en ActionScript. Por ejemplo, puede crear matrices y matrices asociativas.
Variables locales
Puede declarar variables locales que expiran al final de la lista de acciones o de la llamada de función. Esto le permite gestionar la memoria y volver a utilizar los nombres de variables. Todas las variables de Flash 4 eran permanentes; incluso las variables temporales como los contadores de bucle que permanecían en la película hasta que finalizaba.
Funciones definidas por el usuario
Puede definir funciones con parámetros que devuelven valores. Esto le permite volver a utilizar los bloques de código en los scripts. En Flash 4, podía volver a utilizar el código mediante la acción
pero no podía pasar parámetros ni
call
devolver valores.
Procedimientos iniciales
19
Objetos predefinidos
Puede utilizar los objetos predefinidos para acceder y manipular ciertos tipos de información. A continuación se muestran algunos de los objetos predefinidos:
El objeto Math dispone de un complemento completo de constantes y
funciones matemáticas integradas como E (constante de Euler), y
(arco tangente).
atan
El objeto Date le permite obtener información sobre la fecha y la hora del
(Coseno),
cos
sistema en el que se esté ejecutando Flash Player.
El objeto Sound le permite agregar sonidos a una película y controlar los sonidos en una película a medida que se reproduce. Por ejemplo, puede ajustar el volumen (
El objeto Mouse le permite ocultar el cursor estándar para que pueda utilizar
setVolume
), o el balance (
setPan
).
un cursor personalizado.
El objeto MovieClip le permite controlar clips de película sin utilizar una
acción envolvente como
loadMovie
, o
duplicateMovieClip
tellTarget
la sintaxis de punto (por ejemplo,
. Puede llamar a un método como
desde un nombre de instancia utilizando
myMovieClip.play()
).
play
Acciones de clip
Puede utilizar la acción
onClipEvent
para asignar acciones directamente a instancias de clip de película en el Escenario. La acción onClipEvent dispone de eventos como
load, enterFrame, mouseMove
, y
data
que le permiten crear
nuevas clases de interactividad avanzada.
,
20
Acciones nuevas
Puede utilizar acciones nuevas como do..while y for para crear bucles complejos. Otras acciones nuevas se implementan como métodos del objeto MovieClip; por ejemplo, getBounds, attachMovie, hitTest, swapDepths, y
globalToLocal.
Clips inteligentes
Los Clips inteligentes tienen scripts internos que el usuario, u otro autor, puede cambiar sin utilizar el panel Acciones. Puede pasar valores a un Clip inteligente por medio de los parámetros de clip que puede definir en la Biblioteca.
Introduction
Depurador
El Depurador le permite ver y cambiar los valores de variables y propiedades cuando está reproduciendo una película en el modo de prueba de película, en el reproductor Flash Player independiente o en un navegador Web. Esto le permite encontrar fácilmente los problemas en su programación ActionScript.
Compatibilidad con XML
El objeto XML predefinido le permite convertir ActionScript en documentos XML y pasarlos a las aplicaciones de servidor. También puede utilizar el objeto XML para cargar documentos XML en una película de Flash e interpretarlos. El objeto predefinido XMLSocket le permite crear una conexión continua con el servidor para pasar datos XML para aplicaciones que se ejecutan en tiempo real.
Optimización
Flash 5 lleva a cabo optimizaciones en el código de ActionScript para mejorar su desempeño y no aumentar el tamaño de archivo. Como resultado de estas optimizaciones, Flash 5 con frecuencia producirá código de bytes de ActionScript más pequeño que en Flash 4.

Utilización de la Ayuda de Flash para acciones

Flash 5 contiene ayuda sensible al contexto para cada acción disponible en el panel Acciones. Mientras crea scripts, puede obtener información sobre las acciones que está utilizando.
Para obtener ayuda sobre las acciones:
1 En el panel Acciones, seleccione una acción en la lista de la Caja de
herramientas.
2 Haga clic sobre el botón Ayuda en la parte superior del panel.
En el navegador aparecerá un tema relacionado con la acción.
Procedimientos iniciales 21
Introduction22

CAPÍTULO 1

El lenguaje ActionScript

.............................................................................................................
ActionScript, el lenguaje de creación de scripts de Flash, permite crear películas con elementos interactivos. La película se puede configurar para que ejecute scripts que respondan a eventos de usuario como pueden ser hacer clic en el botón del ratón o presionar una tecla. Por ejemplo, se puede crear un script para indicar a Flash que cargue una película específica en Flash Player como respuesta al botón del navegador seleccionado por el usuario.
La filosofía de ActionScript es la de una herramienta que permite crear películas que se comportan exactamente del modo establecido por el usuario. No es necesario entender todos los posibles usos de la herramienta para empezar a crear scripts; si parte de un objetivo claro, podrá empezar a crear scripts que incluyan acciones sencillas. Puede incorporar nuevos elementos del lenguaje a medida que aprenda a utilizarlos, para realizar tareas más complejas.
Este capítulo presenta ActionScript como un lenguaje de creación de scripts orientado a objetos e introduce diferentes términos del mismo. También analiza un script de ejemplo, de forma que el usuario desarrolle un marco de referencia global respecto al mismo.
Este capítulo introduce además el panel Acciones, que permite construir scripts mediante la selección de elementos de ActionScript o introducir texto en la ventana Script.
1
23

Creación de scripts en ActionScript

Para empezar a escribir scripts sencillos no es necesario tener un conocimiento profundo de ActionScript. Lo único que se necesita es un objetivo claro; lo demás es sólo cuestión de seleccionar las acciones adecuadas. La mejor forma de descubrir lo fácil que es ActionScript es creando un script. En el siguiente ejemplo se presenta un script que ha sido asignado a un botón para cambiar el estado de visibilidad de un clip de película.
Para cambiar la visibilidad de un clip de película:
1 Seleccione Ventana > Bibliotecas comunes > Botones y, a continuación,
seleccione Ventana > Bibliotecas comunes > Clips de película. Coloque un botón y un clip de película en el Escenario.
2 Seleccione la instancia de clip de película en el Escenario, y seleccione
Ventana > Paneles > Propiedades de instancia.
3 Introduzca en el campo Nombre testMC.
4 Seleccione el botón en el Escenario, y elija Ventana > Acciones para abrir el
panel Acciones.
5 En el panel Acciones de objetos, haga clic en la categoría Acciones para abrirla.
6 Haga doble clic en la acción setProperty para agregarla a la lista Acciones.
7 En el menú emergente Propiedad, seleccione _visible (Visibilidad).
8 Especifique testMC como valor del parámetro Destino.
9 Especifique el valor 0 para el parámetro Valor.
El código resultante deberá ser similar al siguiente:
on (release) { setProperty ("testMC", _visible, false); }
10
Seleccione Control > Probar película y haga clic en el botón para ver cómo desaparece el clip de película.
Capítulo 124
ActionScript es un lenguaje de creación de scripts orientado a objetos. Esto significa que, cuando se dan determinados eventos, las acciones controlan objetos. En este script, el evento es la acción del usuario de soltar el botón del ratón (lo que se conoce como "mouse-up"), el objeto es la instancia de clip de película MC y la acción es setProperty. Cuando el usuario hace clic en el botón que se muestra en la pantalla, el evento release ejecuta un script que establece la propiedad
_visible del objeto MC al valor false lo cual hace que el objeto se vuelva
invisible.
El panel Acciones puede utilizarse como referencia para la configuración de scripts sencillos. Para utilizar toda la potencia de ActionScript, es importante comprender el funcionamiento del lenguaje: los conceptos, elementos y reglas del lenguaje para organizar la información y crear películas interactivas.
Esta sección explica el flujo de trabajo de ActionScript, los conceptos fundamentales para la creación de scripts orientados a objetos, los objetos de Flash y el flujo de ejecución de scripts. También presenta información respecto a la ubicación de los scripts en las películas de Flash.
Planificación y depuración de scripts
Lo más común cuando se programan scripts para una película completa es que se trabaje con una gran cantidad y diversidad de scripts. Es importante planear cuidadosamente qué acciones utilizar en un script, cómo estructurar las instrucciones de forma efectiva y en qué elementos ubicarlos para asegurar el mejor desempeño de los mismos, especialmente cuando la complejidad de la película empieza a ser considerable.
Antes de empezar a programar scripts, es importante establecer un objetivo e intentar clarificar con exactitud lo que se propone conseguir. Esto es tan importante (y normalmente consume tanto tiempo) como el desarrollo de los scripts para el proyecto que se desea realizar. Es recomendable empezar por escribir las acciones que se desea sucedan en la película, como en el siguiente ejemplo:
Deseo crear mi propio sitio Web utilizando Flash.
A las personas que visiten el sitio se les pedirá su nombre, y éste se utilizará en
los mensajes que se generen en todo el sitio Web.
El sitio contendrá una barra de navegación que puede arrastrarse, y sus botones
se vincularán con cada una de las secciones.
Cuando se presione un botón, la nueva sección irá apareciendo
progresivamente en el centro del Escenario.
Una escena dispondrá de un formulario de contacto, en el que se mostrará el
nombre del usuario.
El lenguaje ActionScript 25
Cuando tenga una idea clara de lo que desea, podrá construir los objetos necesarios y escribir los scripts que controlen dichos objetos.
Para lograr que los scripts se comporten del modo deseado se tiene que invertir una cantidad considerable de tiempo, en ocasiones es necesario pasar por más de un ciclo de escritura, pruebas y depuración. La mejor forma de abordar un problema suele ser empezar poco a poco y comprobar el trabajo a medida que se avanza. Cuando haya conseguido que funcione una parte del script, seleccione Guardar como, con el fin de guardar una versión del archivo (por ejemplo, miPelic01.fla) y empiece a escribir la siguiente parte. Este modo de trabajar ayuda a identificar errores de un modo eficiente y asegura que el código de ActionScript es fiable antes de proceder a escribir scripts más complejos.
Creación de scripts orientados a objetos
En los scripts orientados a objetos la información se organiza en grupos denominados clases. Pueden crearse varias instancias de una clase; a éstas se les denomina objetos, y los objetos pueden emplearse en los scripts. El desarrollador puede utilizar en sus scripts clases predefinidas de ActionScript y crear las suyas propias.
Cuando se crea una clase, es preciso definir todas las propiedades (características) y métodos (comportamientos) de cada objeto que ésta crea, de modo análogo a como se definen los objetos en el mundo real. Una persona, por ejemplo, tiene ciertas propiedades como el género, la altura y el color de pelo, así como ciertos métodos como son hablar, caminar y lanzar. En este ejemplo “persona” es, genéricamente, una clase y cada persona individual es un objeto, o una instancia de dicha clase.
Los objetos de ActionScript pueden contener datos o pueden representarse gráficamente en el Escenario como clips de película. Todos los clips de película son instancias de la clase predefinida MovieClip. Cada instancia de clip de película contiene todas las propiedades (por ejemplo, _height, _rotation,
_totalframes) y todos los métodos (por ejemplo, gotoAndPlay, loadMovie, startDrag) de la clase MovieClip.
Para definir una clase, debe crearse una función especial, denominada función constructora; las clases predefinidas tienen funciones constructoras previamente
definidas. Por ejemplo, si se desea obtener información acerca de un ciclista que aparece en la película, puede crearse una función constructora, Biker, con las propiedades time y distance y el método rate, que indique la velocidad a la que se desplaza el ciclista:
function Biker(t, d) {
this.time = t;
this.distance = d; } function Speed() {
return this.time / this.distance; } Biker.prototype.rate = Speed;
Capítulo 126
A continuación pueden crearse copias, es decir, instancias, de la clase. El siguiente código crea instancias del objeto
emma = new Biker(30, 5); hamish = new Biker(40, 5);
Biker denominadas emma y hamish.
Las instancias también pueden comunicarse entre sí. Para el objeto Biker, podría crearse un método denominado shove que permita a un ciclista empujar a otro (la instancia emma podría llamar a su método shove en caso de que hamish se acercase demasiado). Para pasar información a un método se utilizan parámetros (también denominados argumentos): por ejemplo, el método shove podría aceptar los parámetros who y howFar. En este ejemplo emma empuja a hamish 10 píxeles:
emma.shove(hamish, 10);
En la creación de scripts orientados a objetos, las clases pueden recibir propiedades y métodos unas de otras, de acuerdo a un orden determinado; esta funcionalidad se denomina herencia. La herencia puede utilizarse para ampliar o redefinir las propiedades y métodos de una clase. Una clase que hereda propiedades y métodos de otra clase recibe el nombre de subclase. Una clase que pasa propiedades y métodos a otra clase recibe el nombre de superclase. Una clase puede ser a la vez subclase y superclase.
Objeto MovieClip
Las clases predefinidas de ActionScript reciben el nombre de Objetos. Cada objeto permite acceder a un determinado tipo de información. Por ejemplo, el objeto Date tiene dos métodos (por ejemplo, getFullYear, getMonth), que permiten leer la información del reloj del sistema. El objeto Sound tiene métodos (por ejemplo, setVolume, setPan) que permiten controlar el sonido en una película. El objeto MovieClip tiene métodos que permiten controlar las instancias de los clips de película (por ejemplo, play, stop y getURL) a la vez que obtienen y definen información acerca de sus propiedades (por ejemplo, _alpha,
_framesloaded, _visible).
Los clips de película son los objetos más importantes de las películas de Flash porque contienen líneas de tiempo que se ejecutan independientemente de las demás. Por ejemplo, si la línea de tiempo principal sólo tiene un fotograma y en una de las capas se incluye un clip de película que contiene a su vez10 fotogramas, el clip de película presentará todo su contenido independientemente de que la línea principal sólo se extienda un fotograma. Esto permite que cada instancia de un clip de película se comporte como objeto autónomo con capacidad de comunicación con los demás.
El lenguaje ActionScript 27
Cada instancia de un clip de película tiene un nombre único, de modo que es posible controlarlas a través de acciones. Por ejemplo, si dispusiésemos de varias instancias de un clip de película en el Escenario (por ejemplo, leftClip y
rightClip) podríamos asignar una acción para lograr que sólo una se reprodujese
en un momento dado. Para esto, basta asignar una acción que active a la instancia a través del nombre de la misma. En el siguiente ejemplo, el nombre del clip de película es leftClip:
leftClip.play();
Al momento de reproducción de una película también se pueden duplicar, eliminar y arrastrar instancias de uno o varios clips de película utilizando su nombre de instancia. El siguiente ejemplo duplica la instancia
cartItem para
llenar un carrito de compra con el número de artículos comprados:
onClipEvent(load) { do { duplicateMovieClip("cartItem", "cartItem" + i, i); i = i + 1; } while (i <= numberItemsPur); }
Los clips de película poseen propiedades cuyos valores pueden establecerse y recuperarse en forma dinámica mediante ActionScript. La modificación y lectura de estas propiedades puede cambiar el aspecto e identidad de un clip de película y es la clave para darle interactividad. Por ejemplo, el siguiente script utiliza la acción setProperty para establecer la transparencia (parámetro alfa) de la instancia navigationBar al valor 10:
setProperty("navigationBar", _alpha, 10);
Para obtener más información referente a otro tipos de objetos, consulte la sección “Utilización de objetos predefinidos” a pagina 81.
Flujo de los scripts
ActionScript sigue un flujo lógico. Flash ejecuta las sentencias de ActionScript empezando por la primera y continuando secuencialmente hasta llegar a la última o a una sentencia que le indique una bifurcación a otro script u otra parte en el mismo script.
A continuación se presentan algunas acciones que cambian el flujo de ActionScript hacia una sentencia diferente a la que aparece después de ella:
Capítulo 128
La sentencia if, los bucles do...while, y la acción return.
El lenguaje ActionScript 29
Una sentencia if recibe el nombre de sentencia condicional o “bifurcación lógica”, ya que controla el flujo de un script basándose en la evaluación de una determinada condición. Por ejemplo, el siguiente código comprueba si el valor de la variable number es menor o igual que 10. Si la comprobación devuelve true (por ejemplo, el valor de number es 5), se establece la variable alert y muestra su valor en un campo de entrada de texto, como el siguiente:
if (number <= 10) { alert = "The number is less than or equal to 10"; }
También se pueden incluir sentencias else para crear sentencias condicionales más complejas. En el ejemplo siguiente, si la condición devuelve true (por ejemplo, el valor de number es 3), se ejecuta la sentencia encerrada entre el primer conjunto de llaves y la variable alert se establece en la segunda línea. Si la condición devuelve false (por ejemplo, el valor de number es 30), se ignora el primer bloque de código y se ejecuta la sentencia encerrada entre llaves detrás de la sentencia else, como a continuación:
if (number <= 10) { alert = "The number is less than or equal to 10"; } else { alert = "The number is greater than 10"; }
Si desea obtener más información, consulte “Utilización de las sentencias if” a pagina 73.
Los bucles repiten una acción un determinado número de veces, o hasta que se cumpla cierta condición. En el siguiente ejemplo se duplica cinco veces un clip de película:
i = 0; do { duplicateMovieClip ("myMovieClip", "newMovieClip" + i, i); newName = eval("newMovieClip" + i); setProperty(newName, _x, getProperty("myMovieClip", _x) + (i *
5)); i = i + 1; } while (i <= 5);
Para obtener información detallada, consulte “Repetición de una acción” a pagina 74.
Capítulo 130
Loading...
+ 415 hidden pages