Adobe Aprendizaje de ActionScript 2.0 User Manual [es]

Aprendizaje de ActionScript 2.0 en Flash
Marcas comerciales
1 Step RoboPDF, ActiveEdit, ActiveTest, Authorware, Blue Sky Software, Blue Sky, Breeze, Breezo, Captivate, Central, ColdFusion, Contribute, Database Explorer, Director, Dreamweaver, Fireworks, Flash, FlashCast, FlashHelp, Flash Lite, FlashPaper, Flash Video Encoder, Flex, Flex Builder, Fontographer, FreeHand, Generator, HomeSite, JRun, MacRecorder, Macromedia, MXML, RoboEngine, RoboHelp, RoboInfo, RoboPDF, Roundtrip, Roundtrip HTML, Shockwave, SoundEdit, Studio MX, UltraDev y WebHelp son marcas registradas o marcas comerciales de Macromedia, Inc. y pueden estar registradas en Estados Unidos o en otras jurisdicciones, incluidas las internacionales. 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 comerciales de Macromedia, Inc. o de otras entidades y pueden estar registrados en ciertas jurisdicciones, incluidas las internacionales.
Información de terceros
Esta guía contiene vínculos a sitios Web de terceros que no están bajo el control de Macromedia y, por consiguiente, Macromedia no se hace responsable del contenido de dichos sitios Web. El acceso a uno de los sitios Web de terceros mencionados en esta guía será a cuenta y riesgo del usuario. Macromedia proporciona estos vínculos únicamente como ayuda y su inclusión no implica que Macromedia se haga responsable del contenido de dichos sitios Web.
La tecnología de compresión y descompresión de voz tiene licencia de Nellymoser, Inc. (www.nellymoser.com).
La tecnología de compresión y descompresión de vídeo Sorenson™ Spark™ tiene licencia de Sorenson Media, Inc.
Navegador Opera® Copyright © 1995-2002 Opera Software ASA y sus proveedores. Todos los derechos reservados.
Macromedia Flash 8 Video funciona con tecnología de vídeo TrueMotion de On2 Technologies. © 1992-2005 On2 Technologies, Inc. Todos los derechos reservados. http://www.on2.com.
Visual SourceSafe es una marca registrada o una marca comercial de Microsoft Corporation en Estados Unidos y/u otros países.
Copyright © 2005 Macromedia, Inc. Todos los derechos reservados. No se permite la copia, fotocopia, reproducción, traducción ni la conversión en formato electrónico o legible por equipos, ya sea de forma total o parcial de este manual, sin la autorización previa por escrito de Macromedia, Inc. No obstante, el propietario o usuario autorizado de una copia válida del software con la que se proporcionó este manual puede imprimir una copia del manual a partir de una versión electrónica del mismo, con el solo fin de aprender a usar dicho software, siempre que no se imprima, reproduzca, revenda o transmita ninguna parte de este manual para cualquier otro propósito, incluidos, sin limitación, fines comerciales, como la venta de copias de esta documentación o el suministro de servicios de soporte pagados.
Agradecimientos
Dirección del proyecto: Sheila McGinn Redacción: Jen deHaan; Peter deHaan, Joey Lott Directora de edición: Rosana Francescato Redactora jefe: Lisa Stanziano Edición: Linda Adler, Geta Carlson, Evelyn Eldridge, John Hammett, Mary Kraemer, Noreen Maher, Jessie Wood, Anne Szabla Dirección de la producción: Patrice O’Neill, Kristin Conradi, Yuko Yagi Producción y diseño multimedia: Adam Barnett, Aaron Begley, Paul Benkman. John Francis, Geeta Karmarkar, Masayo Noda,
Paul Rangel, Arena Reed, Mario Reynoso Reconocimiento especial a Jody Bleyle, Mary Burger, Lisa Friendly, Stephanie Gowin, Bonnie Loo, Mary Ann Walsh, Erick Vera,
Jorge G. Villanueva, responsables de las pruebas realizadas a la versión beta, y a la totalidad de los equipos de diseño y control de calidad de Flash y Flash Player.
Primera edición: septiembre de 2005
Macromedia, Inc. 601 Townsend St. San Francisco, CA 94103, EE.UU.

Contenido

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Destinatarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Requisitos del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Actualización de archivos XML de Flash . . . . . . . . . . . . . . . . . . . . . . . . . 10
Documentación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Recursos adicionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Capítulo 1: Novedades de Flash 8 ActionScript . . . . . . . . . . . . . . 19
Nuevas funciones en ActionScript 2.0 y Flash 8 . . . . . . . . . . . . . . . . . . 19
Cambios en el modelo de seguridad para archivos SWF
instalados localmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Capítulo 2: Escritura y edición en ActionScript 2.0 . . . . . . . . . . . 31
ActionScript y eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Organización de código ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Utilización del panel Acciones y la ventana Script . . . . . . . . . . . . . . . . 36
Panel Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Ventana Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Codificación en el panel Acciones y la ventana Script . . . . . . . . . . . . . 40
Funciones del panel Acciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Comportamientos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Configuración de publicación de ActionScript . . . . . . . . . . . . . . . . . . . 66
Capítulo 3: ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Qué es ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Selección entre ActionScript 1.0 y ActionScript 2.0 . . . . . . . . . . . . . . .73
ActionScript y Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
3
Capítulo 4: Principios básicos de la sintaxis y el lenguaje . . . . . . 75
Sintaxis, sentencias y expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Sintaxis con puntos y rutas de destino . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Signos de lenguaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Constantes y palabras clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Capítulo 5: Funciones y métodos . . . . . . . . . . . . . . . . . . . . . . . . . 169
Funciones y métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Aspectos básicos de los métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Capítulo 6: Clases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Programación orientada a objetos y Flash . . . . . . . . . . . . . . . . . . . . . . 196
Escritura de archivos de clases personalizadas . . . . . . . . . . . . . . . . . 205
Utilización de clases personalizadas en una aplicación . . . . . . . . . . 208
Ejemplo: Escritura de clases personalizadas . . . . . . . . . . . . . . . . . . . .233
Ejemplo: Utilización de archivos de clases personalizadas
en Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
Asignación de una clase a símbolos en Flash . . . . . . . . . . . . . . . . . . . . 251
Compilación y exportación de clases . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Clases y ámbito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
Clases de nivel superior y clases incorporadas. . . . . . . . . . . . . . . . . . .258
Utilización de clases incorporadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
Capítulo 7: Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Herencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Escritura de subclases en Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Utilización de polimorfismo en una aplicación . . . . . . . . . . . . . . . . . . .283
Capítulo 8: Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
Creación de interfaces como tipos de datos . . . . . . . . . . . . . . . . . . . . 295
Herencia e interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297
Ejemplo: Utilización de interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298
Ejemplo: Creación de una interfaz compleja . . . . . . . . . . . . . . . . . . . . 300
4Contenido
Capítulo 9: Gestión de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Utilización de métodos de controlador de eventos. . . . . . . . . . . . . . . 306
Utilización de detectores de eventos. . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Utilización de detectores de eventos con componentes. . . . . . . . . . . 311
Utilización de controladores de eventos de botones y de clips
de película . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .313
Difusión de eventos desde instancias de componentes . . . . . . . . . . .318
Creación de clips de película con estados de botón. . . . . . . . . . . . . . .319
Ámbito del controlador de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Ámbito de la palabra clave this . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Utilización de la clase Delegate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Capítulo 10: Datos y tipos de datos. . . . . . . . . . . . . . . . . . . . . . . 327
Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Tipos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Organización de datos en objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Conversión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Capítulo 11: Trabajo con clips de película . . . . . . . . . . . . . . . . . . 373
Control de clips de película con ActionScript . . . . . . . . . . . . . . . . . . . 374
Llamada a varios métodos en un solo clip de película . . . . . . . . . . . . 376
Carga y descarga de archivos SWF. . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Modificación de la posición y el aspecto de un clip de película . . . . 380
Clips de película que se pueden arrastrar . . . . . . . . . . . . . . . . . . . . . . . .381
Creación de clips de película en tiempo de ejecución . . . . . . . . . . . . 383
Adición de parámetros a clips de película creados
de forma dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Gestión de las profundidades de los clips de película . . . . . . . . . . . . 390
Asignación de caché y desplazamiento de clips
de película con ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Utilización de clips de película como máscaras. . . . . . . . . . . . . . . . . . 402
Gestión de eventos de clip de película. . . . . . . . . . . . . . . . . . . . . . . . . . 404
Asignación de una clase a un símbolo de clip de película . . . . . . . . . 404
Inicialización de las propiedades de clase . . . . . . . . . . . . . . . . . . . . . . 405
Contenido 5
Capítulo 12: Utilización de texto y cadenas . . . . . . . . . . . . . . . . 407
Campos de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Carga de texto y variables en los campos de texto . . . . . . . . . . . . . . . 419
Utilización de fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Representación de fuentes y texto suavizado. . . . . . . . . . . . . . . . . . . 434
Diseño y formato de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Aplicación de formato al texto con hojas de estilos en cascada. . . . 451
Utilización de texto en formato HTML . . . . . . . . . . . . . . . . . . . . . . . . . .465
Ejemplo: Creación de texto desplazable . . . . . . . . . . . . . . . . . . . . . . . .479
Cadenas y la clase String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Capítulo 13: Animaciones, filtros y dibujos . . . . . . . . . . . . . . . . . 501
Creación de scripts para animaciones con ActionScript 2.0 . . . . . 502
Caché de mapa de bits, desplazamiento y rendimiento . . . . . . . . . . 513
Las clases Tween y TransitionManager . . . . . . . . . . . . . . . . . . . . . . . . 515
Utilización de efectos de filtro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .532
Utilización de filtros con código ActionScript . . . . . . . . . . . . . . . . . . 540
Manipulación de efectos de filtro mediante código . . . . . . . . . . . . . .564
Creación de mapas de bits con la clase BitmapData . . . . . . . . . . . . .568
Modos de mezcla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Orden de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .574
Dibujo con código ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .574
Aspectos básicos de la escala y las guías de división . . . . . . . . . . . . .589
Capítulo 14: Creación de interacciones con ActionScript . . . . 595
Eventos e interacciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Control de la reproducción de archivos SWF . . . . . . . . . . . . . . . . . . . 596
Creación de interactividad y efectos visuales . . . . . . . . . . . . . . . . . . . 600
Creación de vinculaciones de datos durante la ejecución
mediante ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Análisis de un script de ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .623
Capítulo 15: Utilización de imágenes, sonido y vídeo. . . . . . . . .627
Carga y trabajo con archivos multimedia externos . . . . . . . . . . . . . . .628
Carga de archivos de imagen y SWF externos. . . . . . . . . . . . . . . . . . .629
Carga y utilización de archivos MP3 externos . . . . . . . . . . . . . . . . . . .634
Asignación de vinculación a elementos de la biblioteca . . . . . . . . . . .639
Utilización de vídeo FLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Creación de animaciones progresivas para archivos multimedia . . .662
6Contenido
Capítulo 16: Trabajo con datos externos . . . . . . . . . . . . . . . . . . . 671
Envío y carga de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Utilización del protocolo HTTP para conectar con scripts
de servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Carga y descarga de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
Lenguaje XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Envío de mensajes hacia y desde Flash Player . . . . . . . . . . . . . . . . . . 700
Interfaz API externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
Capítulo 17: Aspectos básicos de la seguridad . . . . . . . . . . . . . . 715
Compatibilidad con modelos de seguridad de Flash Player
anteriores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
Seguridad de archivos local y Flash Player . . . . . . . . . . . . . . . . . . . . . . 717
Dominios, seguridad entre dominios y archivos SWF . . . . . . . . . . . . 735
Archivos de política de servidor para permitir el acceso
a los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Acceso de protocolo HTTP a HTTPS entre archivos SWF . . . . . . . 749
Capítulo 18: Depuración de aplicaciones . . . . . . . . . . . . . . . . . . 753
Depuración de los scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Utilización del panel Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
Capítulo 19: Recomendaciones y convenciones
de codificación para ActionScript 2.0 . . . . . . . . . . . . . . . . . . . . 775
Convenciones de asignación de nombre . . . . . . . . . . . . . . . . . . . . . . . .777
Utilización de comentarios en el código . . . . . . . . . . . . . . . . . . . . . . . . 788
Convenciones de codificación de ActionScript. . . . . . . . . . . . . . . . . . 790
Optimización de ActionScript y Flash Player. . . . . . . . . . . . . . . . . . . . 806
Aplicación de formato a la sintaxis de ActionScript . . . . . . . . . . . . . . 808
Apéndice A: Mensajes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Apéndice B: Operadores de Flash 4 no admitidos . . . . . . . . . . 823
Apéndice C: Teclas del teclado y valores de códigos
de tecla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
Contenido 7
Apéndice D: Escritura de scripts para versiones anteriores
de Flash Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
Utilización de versiones anteriores de Flash Player . . . . . . . . . . . . . .833
Utilización de Flash 8 para crear contenido para Flash Player 4 . . .834
Apéndice E: Programación orientada a objetos con
ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .837
ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .838
Creación de un objeto personalizado en ActionScript 1.0 . . . . . . . . 840
Asignación de métodos a un objeto personalizado
en ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
Definición de métodos de controlador de eventos
en ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .842
Creación de herencia en ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . .845
Adición de propiedades de captador/definidor a objetos
en ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .846
Utilización de las propiedades del objeto Function
en ActionScript 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .847
Apéndice F: Terminología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
Índice alfabético. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
8Contenido

Introducción

Macromedia Flash Basic 8 y Macromedia Flash Professional 8 son las herramientas estándar de edición profesional para la creación de publicaciones Web de gran impacto. ActionScript es el lenguaje que deberá utilizar para añadir interactividad a aplicaciones Flash, tanto si las aplicaciones son simples archivos SWF de animación como si son complejas aplicaciones de Internet. Para utilizar Flash, no es necesario utilizar ActionScript, pero si desea ofrecer a los usuarios interacción básica o compleja, trabajar con objetos que no sean los incorporados en Flash (como por ejemplo, botones y clips de película) o convertir un archivo SWF en una experiencia de usuario más fiable, es posible que desee utilizar este lenguaje.
Para más información, consulte los temas siguientes:
Destinatarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Actualización de archivos XML de Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Requisitos del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Documentación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Recursos adicionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Destinatarios

En este manual se presupone que el usuario ya ha instalado Flash Basic 8 o Flash Professional 8 y sabe cómo utilizarlo. Deberá saber cómo colocar objetos en el escenario y cómo manipularlos en el entorno de edición de Flash. Si ha utilizado lenguajes de creación de scripts anteriormente, ActionScript le resultará familiar. No obstante, aunque no tenga experiencia en programación, le resultará fácil aprender a utilizar ActionScript. Se puede empezar con comandos muy simples y aumentar el grado de complejidad conforme se va avanzando. Puede añadir gran cantidad de interactividad a sus archivos sin tener que aprender (ni escribir) gran cantidad de código.
9

Requisitos del sistema

Los componentes de ActionScript 2.0 no exigen ningún requisito del sistema adicional a los de Flash 8.
En este manual se presupone que el usuario utiliza la configuración de publicación predeterminada para los archivos Flash: Flash Player 8 y ActionScript 2.0. Si cambia alguno de estos valores, es posible que las explicaciones y los ejemplos de código que se muestran en la documentación no sean válidos. Si desarrolla aplicaciones para versiones anteriores de Flash Player, consulte el Apéndice D, “Escritura de scripts para versiones anteriores de Flash Player”,
en la página 833.

Actualización de archivos XML de Flash

Es importante tener siempre instalados los archivos XML más recientes de Flash. Macromedia incorpora en ocasiones nuevas funciones en subediciones (versiones secundarias) de Flash Player. Cuando se encuentre disponible una versión de este tipo, deberá actualizar su versión de Flash para obtener los archivos XML más recientes. En caso contrario, el compilador de Flash 8 podría generar errores si utiliza nuevas propiedades o métodos que no estaban disponibles en la versión de Flash Player suministrada con la instalación de Flash.
Por ejemplo, Flash Player 7 (7.0.19.0) contenía un método nuevo para el objeto System,
System.security.loadPolicyFile. Para acceder a este método, debe utilizar el programa
de instalación de Player Updater para actualizar todos los Flash Players instalados con Flash. De no hacerlo, el compilador de Flash mostrará errores.
Recuerde que puede instalar un Player Updater que sea una o varias versiones principales superior a la versión de Flash de que dispone. Al hacerlo, obtendrá los archivos XML necesarios sin que se produzcan errores de compilador al publicar en versiones anteriores de Flash Player. En ocasiones, los nuevos métodos o propiedades están disponibles para versiones anteriores, por lo que, si dispone de los archivos XML más recientes, se minimizan los errores de compilador que aparecen al intentar acceder a métodos o propiedades anteriores.
10 Introducción

Documentación

Este manual proporciona información general sobre la sintaxis de ActionScript y cómo utilizar ActionScript cuando se trabaja con distintos tipos de objetos. Para obtener detalles sobre la sintaxis y el uso de cada uno de los elementos de lenguaje, consulte Referencia del lenguaje ActionScript 2.0.
Para más información, consulte los temas siguientes:
“Información general sobre el libro Aprendizaje de ActionScript 2.0” en la página 11
“Archivos de muestra” en la página 15
“Términos utilizados en este documento” en la página 14
“Copiar y pegar código” en la página 14

Información general sobre el libro Aprendizaje de ActionScript 2.0

En la siguiente lista se resume el contenido de este manual:
El Capítulo 1, “Novedades de Flash 8 ActionScript”, describe las funciones nuevas de
ActionScript, los cambios aplicados al compilador y al depurador, así como el nuevo modelo de programación para el lenguaje ActionScript 2.0.
El Capítulo 2, “Escritura y edición en ActionScript 2.0”, describe las funciones del editor
de ActionScript incluido en Flash que facilita la escritura de código.
El Capítulo 3, “ActionScript”, explica en qué consiste el lenguaje ActionScript y
proporciona detalles que permiten elegir la versión de ActionScript que debe utilizar.
El Capítulo 4, “Principios básicos de la sintaxis y el lenguaje”, describe la terminología y
los conceptos básicos del lenguaje ActionScript. Estos conceptos se utilizan en todo el manual.
El Capítulo 5, “Funciones y métodos”, explica cómo escribir distintos tipos de funciones y
métodos, así como la forma de utilizarlos en la aplicación.
El Capítulo 6, “Clases”, describe la forma de crear objetos y clases personalizadas en
ActionScript. Este capítulo enumera también las clases integradas en ActionScript y ofrece una breve descripción de cómo utilizarlas para obtener acceso a potentes funciones de ActionScript.
El Capítulo 7, “Herencia”, describe la herencia en el lenguaje ActionScript, así como la
forma de ampliar clases incorporadas o personalizadas.
El Capítulo 8, “Interfaces”, describe la forma de crear objetos y trabajar con interfaces en
ActionScript.
Documentación 11
El Capítulo 9, “Gestión de eventos”, explica varias maneras distintas de controlar los
eventos: métodos de controlador de eventos, detectores de eventos y controladores de eventos de clip de película y de botón.
El Capítulo 10, “Datos y tipos de datos”, describe la terminología y los conceptos básicos
de datos, tipos de datos y variables. Estos conceptos se utilizan en todo el manual.
El Capítulo 11, “Trabajo con clips de película”, describe clips de película y el código
ActionScript que puede utilizar para controlarlos.
El Capítulo 12, “Utilización de texto y cadenas”, examina las distintas maneras en las que
se puede controlar texto y cadenas en Flash e incluye información sobre el formato de texto y FlashType (representación de texto avanzada, como el texto suavizado).
El Capítulo 13, “Animaciones, filtros y dibujos”, explica cómo crear imágenes y animación
basadas en código, añadir filtros a objetos y dibujar con ActionScript.
El Capítulo 14, “Creación de interacciones con ActionScript”, describe algunos métodos
sencillos para crear aplicaciones más interactivas, incluido el control de reproducción de archivos SWF, la creación de punteros personalizados y la creación de controles de sonido.
El Capítulo 15, “Utilización de imágenes, sonido y vídeo”, describe la forma de importar a
las aplicaciones Flash archivos multimedia externos, como imágenes de mapa de bits, archivos MP3, archivos de Flash Video (FLV) y otros archivos SWF. En este capítulo se incluye también información general sobre cómo trabajar con vídeo en las aplicaciones, así como la forma de crear una barra de progreso que carga las animaciones.
El Capítulo 16, “Trabajo con datos externos”, describe cómo procesar datos de fuentes
externas utilizando scripts de servidor o de cliente en las aplicaciones. En este capítulo se explica cómo integrar datos con las aplicaciones.
El Capítulo 17, “Aspectos básicos de la seguridad”, explica la seguridad en Flash Player,
que se aplica al trabajo con archivos SWF situados localmente en el disco duro. En este capítulo se indican también los problemas de seguridad entre dominios y cómo cargar datos de servidores o entre dominios.
El Capítulo 18, “Depuración de aplicaciones”, describe el depurador de ActionScript
incluido en Flash que facilita la escritura de aplicaciones.
El Capítulo 19, “Recomendaciones y convenciones de codificación para ActionScript
2.0”, explica cuáles son las prácticas recomendadas a la hora de utilizar Flash y escribir
ActionScript. En este capítulo se enumeran también las convenciones de codificación estándar, como la asignación de nombre a las variables, además de otras convenciones.
El Apéndice A, “Mensajes de error”, contiene la lista de mensajes de error que el
compilador de Flash puede generar.
El Apéndice B, “Operadores de Flash 4 no admitidos”, enumera todos los operadores de
Flash 4 y su asociatividad.
12 Introducción
El Apéndice C, “Teclas del teclado y valores de códigos de tecla”, muestra todas las teclas
de un teclado estándar y los valores correspondientes del código de tecla ASCII utilizados para identificar las teclas en ActionScript.
El Apéndice D, “Escritura de scripts para versiones anteriores de Flash Player”,
proporciona las directrices que le ayudarán a escribir scripts con una sintaxis correcta para la versión de reproductor que desea utilizar.
El Apéndice E, “Programación orientada a objetos con ActionScript 1.0”, ofrece
información sobre la utilización del modelo de objetos de ActionScript 1.0 para escribir scripts.
El Apéndice F, “Terminología”, incluye una lista de la terminología que se utiliza con
mayor frecuencia al trabajar con el lenguaje ActionScript y ofrece descripciones de los distintos términos.
En este manual se explica cómo utilizar el lenguaje ActionScript. Para obtener información sobre los elementos del lenguaje propiamente dichos, consulte la Referencia del lenguaje ActionScript 2.0.

Convenciones tipográficas

En este manual se utilizan las convenciones tipográficas siguientes:
La fuente de código indica que se trata de código de ActionScript.
La fuente de código en negrita, que normalmente aparece dentro de un
procedimiento, indica código que debe modificar o añadir al código que ya ha incorporado al archivo FLA. En algunos casos, puede utilizarse para resaltar código que se desea comprobar.
El texto en negrita indica datos que debe escribir en la interfaz de usuario, como el
nombre de un archivo o un nombre de instancia.
El texto en cursiva indica un término nuevo definido en el texto que sigue. En una ruta de
archivo, puede indicar un valor que debe sustituirse (por ejemplo, por el nombre de un directorio de su propio disco duro).
Documentación 13

Términos utilizados en este documento

En este manual se utilizan los términos siguientes:
Usted hace referencia al desarrollador que escribe un script o una aplicación.
El usuario hace referencia a la persona que ejecutará los scripts y las aplicaciones.
La fase de compilación es la fase en la que se publica, exporta, prueba o depura un
documento.
El tiempo de ejecución es el espacio de tiempo en el que se ejecuta un script en Flash Player.
Los términos de ActionScript como método y objeto se definen en el Apéndice F,
“Terminología”, en la página 851.

Copiar y pegar código

Al pegar código ActionScript desde el panel Ayuda al archivo FLA o ActionScript, se debe tener cuidado con los caracteres especiales, que incluyen las comillas dobles especiales (también denominadas comillas curvas). Estos caracteres no los interpreta el editor de ActionScript, por lo que el código genera un error si intenta compilarlo en Flash.
Se puede determinar que los caracteres de comillas son caracteres especiales cuando no presentan el código de color correcto. Es decir, si todas las cadenas no cambian de color en el editor de código, debe sustituir los caracteres especiales por las comillas rectas normales. Si se escriben las comillas simples o dobles directamente en el editor de ActionScript, se introducen siempre como comillas rectas. El compilador (al probar o publicar un archivo SWF) genera un error y le indica si en el código hay un tipo erróneo de caracteres (comillas especiales o curvas).
NOTA
También pueden aparecer las comillas especiales cuando se realiza la operación de pegar código ActionScript desde otras ubicaciones, como una página Web o un documento de Microsoft Word.
Controle que los saltos de línea sean los correctos al copiar y pegar código. Cuando se pega código desde otras ubicaciones, puede que la línea de código salte a la línea siguiente en una ubicación incorrecta. Asegúrese de que el código de color de la sintaxis es el correcto en el editor de ActionScript si piensa que los saltos de línea podrían ser un problema. Puede comparar el código del panel Acciones con el del panel Ayuda para ver si coinciden. Pruebe a activar la función Ajustar texto en el editor de ActionScript para ayudar a resolver el exceso de saltos de líneas del código (seleccione Ver > Ajustar palabra en la ventana Script, o bien Ajustar texto en el menú emergente del panel Acciones.)
14 Introducción

Recursos adicionales

Además de este manual sobre ActionScript, hay otros manuales sobre temas de Flash, como componentes y Macromedia Flash Lite. Se puede acceder a cada manual del panel Ayuda (Ayuda > Ayuda de Flash) desde la Tabla de contenido predeterminada. Haga clic en el botón Borrar para ver cada uno de los manuales disponibles; para más información, consulte
“Dónde encontrar documentación sobre otros temas” en la página 18.
Para más información sobre los demás recursos disponibles, consulte los temas siguientes:
“Archivos de muestra” en la página 15
“Dónde encontrar archivos PDF o documentación impresa” en la página 16
“LiveDocs” en la página 16
“Recursos en línea adicionales” en la página 17
“Dónde encontrar documentación sobre otros temas” en la página 18

Archivos de muestra

Hay disponibles numerosos archivos de muestra basados en ActionScript que se instalan con Flash. Estos archivos muestran cómo funciona el código en un archivo FLA y constituyen con frecuencia una herramienta de aprendizaje muy útil. En los capítulos de este manual se suele hacer referencia a estos archivos, pero se recomienda que también se consulte la carpeta de archivos de muestra del disco duro.
Los archivos de muestra incluyen archivos FLA de aplicaciones que utilizan funcionalidad común de Flash instalada con Flash. Estas aplicaciones se han diseñado para ayudar a los nuevos desarrolladores de Flash a adentrarse en las posibilidades de las aplicaciones Flash, así como para mostrar a los desarrolladores avanzados el modo en que funcionan las funciones de Flash en su contexto.
Los archivos de origen de muestra centrados en ActionScript se pueden encontrar en la carpeta Samples del disco duro.
En Windows, desplácese a unidad de inicio\Archivos de programa\Macromedia\Flash
8\Samples and Tutorials\Samples\ActionScript\.
En Macintosh, desplácese a Disco duro de Macintosh/Applications/Macromedia Flash 8/
Samples and Tutorials/Samples/ActionScript/.
Recursos adicionales 15
Puede que encuentre útil los siguientes archivos de muestra centrados en componentes, ya que contienen gran cantidad de código ActionScript. También se encuentran en la carpeta Samples del disco duro:
En Windows, desplácese a unidad de inicio\Archivos de programa\Macromedia\Flash
8\Samples and Tutorials\Samples\Components\.
En Macintosh, desplácese a Disco duro de Macintosh/Applications/Macromedia Flash 8/
Samples and Tutorials/Samples/Components/.
También se pueden encontrar archivos de muestra adicionales para descargar en Internet. La siguiente página Web contiene vínculos y descripciones de archivos de muestra adicionales:
www.macromedia.com/go/flash_samples_es/

Dónde encontrar archivos PDF o documentación impresa

Si prefiere leer documentación en formato impreso, puede descargar las versiones en PDF de cada manual de la Ayuda. Vaya a www.macromedia.com/support/documentation/es/ y seleccione el producto en el que esté interesado. Puede ver o descargar el archivo PDF o el vínculo a la versión de LiveDocs del manual.
Normalmente, también puede adquirir la documentación impresa. Para obtener información actualizada, vaya al sitio de soporte de documentación y seleccione Flash Basic 8 o Flash Professional 8.

LiveDocs

Se puede acceder a la documentación en el sitio Web de LiveDocs, además de poder hacerlo desde el panel Ayuda. El sitio Web de LiveDocs contiene todas las páginas de la Ayuda de Flash y podría contener comentarios que aclarasen, actualizasen o corrigiesen partes de la documentación. Haga clic en Ver comentarios en LiveDocs en la parte inferior de una página del panel Ayuda para ver la página equivalente en el sitio Web de LiveDocs. Vaya a http://
livedocs.macromedia.com para ver una lista de la documentación disponible en formato de
LiveDocs. Escritores técnicos se encargan de supervisar el sitio Web de LiveDocs. Una de las ventajas de
LiveDocs es la posibilidad de ver comentarios que aclaran aspectos de la documentación o corrigen cualquier errata o problema que haya surgido después de publicar la versión de software. LiveDocs no es el lugar apropiado para solicitar ayuda como formular preguntas sobre código que no funciona, realizar comentarios sobre problemas con el software y la instalación o preguntar cómo crear algo con Flash. Este sitio es para ofrecer comentarios sobre la documentación (por ejemplo, si se advierte que una frase o párrafo podría aclararse mejor).
16 Introducción
Al hacer clic en el botón para añadir un comentario a LiveDocs, existen varios aspectos sobre los tipos de comentarios que son aceptables en el sistema. Lea atentamente estas directrices, ya que su comentario podría eliminarse del sitio Web.
Si desea realizar alguna pregunta sobre Flash, hágalo en los foros Web de Macromedia:
www.macromedia.com/go/flash_forum_es. Los foros Web constituyen el mejor lugar para
formular preguntas, ya que están supervisados por numerosos empleados de Macromedia, voluntarios de Team Macromedia, administradores y miembros de grupos de usuarios de Macromedia e incluso escritores técnicos.
Los ingenieros no supervisan el sistema de LiveDocs pero sí controlan la lista de Flash Wish. Si cree que ha encontrado un error en el software o le gustaría solicitar una mejora en Flash, rellene el formulario en www.macromedia.com/go/wish. Si informa del error o solicita una mejora en LiveDocs, no se añadirá oficialmente a la base de datos de errores. Debe utilizar el formulario específico (wishform) si desea que un ingeniero considere el error o la solicitud.
No olvide tener cuidado con los caracteres especiales y los saltos de línea al pegar desde la Web, incluido desde LiveDocs. Macromedia se ha esforzado al máximo por eliminar todos los caracteres especiales de los ejemplos de código, pero si tiene problemas al pegar código, consulte “Copiar y pegar código” en la página 14.

Recursos en línea adicionales

Existen diversos recursos en línea que ofrecen formación, ayuda y asesoramiento a la hora de aprender a utilizar Macromedia Flash 8. Visite los siguientes sitios Web regularmente para obtener la información más reciente:
El sitio Web Centro de desarrollo de Macromedia (www.macromedia.com/go/
developer_fl_es) se actualiza regularmente con la última información sobre Flash, además de
consejos de usuarios expertos, temas más complejos, ejemplos, sugerencias, tutoriales (de incluso varias partes) y otras actualizaciones. Visite el sitio Web regularmente para conocer las últimas noticias sobre Flash y cómo sacar el máximo partido del programa.
El centro de servicio técnico de Macromedia Flash (www.macromedia.com/go/
flash_support_es) proporciona notas técnicas, documentación actualizada y vínculos a otros
recursos de la comunidad Flash.
El sitio Web Macromedia Weblogs (http://weblogs.macromedia.com) ofrece una lista de
weblogs (también conocidos como blogs) tanto para el personal de Macromedia como para la comunidad de usuarios.
Recursos adicionales 17
Los foros Web de Macromedia (http://webforums.macromedia.com) ofrecen numerosos
foros en los que formular preguntas específicas sobre Flash, sus aplicaciones o el lenguaje ActionScript. Los foros están supervisados por voluntarios de Team Macromedia y es visitado con frecuencia por empleados de Macromedia. Si no está seguro de adónde acudir o cómo resolver un problema, visite un foro de Flash.
El sitio Web Comunidad de Macromedia (www.macromedia.com/community) suele
albergar Macrochats, una serie de presentaciones en directo sobre diversos temas realizadas por empleados de Macromedia y miembros de la comunidad. Consulte con frecuencia el sitio Web para obtener la información más reciente y registrarse en los macrochats.

Dónde encontrar documentación sobre otros temas

Los siguientes manuales ofrecen información adicional sobre temas asociados frecuentemente con ActionScript 2.0:
Para obtener información sobre los elementos que componen el lenguaje ActionScript,
consulte la Referencia del lenguaje ActionScript 2.0.
Para obtener información sobre cómo trabajar en el entorno de edición de Flash, consulte
Cómo utilizar la Ayuda.
Si desea información sobre los componentes, consulte Utilización de componentes.
18 Introducción
CAPÍTULO 1

Novedades de Flash 8 ActionScript

Macromedia Flash Basic 8 y Macromedia Flash Professional 8 proporcionan varias mejoras que facilitan la escritura de scripts más robustos con el lenguaje ActionScript. Las nuevas funciones, que se describen más adelante en este capítulo, incluyen nuevos elementos de lenguaje (consulte “Elementos añadidos al lenguaje ActionScript” en la página 22), herramientas de edición mejoradas (consulte “Cambios de edición de ActionScript” en
la página 28), cambios en el modelo de seguridad y otras mejoras relacionadas con el código
ActionScript en la herramienta de edición. Para más información, consulte los siguientes temas:
Nuevas funciones en ActionScript 2.0 y Flash 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Cambios en el modelo de seguridad para archivos SWF instalados localmente. . 29

Nuevas funciones en ActionScript 2.0 y Flash 8

1
El lenguaje ActionScript ha crecido y se ha desarrollado desde su introducción hace algunos años. Con cada nueva versión de Flash se han añadido a ActionScript palabras clave, objetos, métodos y otros elementos de lenguaje adicionales. Asimismo se han incluido mejoras relativas a ActionScript en los entornos de edición de Flash 8. Flash Basic 8 y Flash Professional 8 presentan nuevos elementos de lenguaje para mejorar la expresividad, como filtros y modos de mezcla, y el desarrollo de aplicaciones, como integración con JavaScript (ExternalInterface) y entrada y salida de archivos (FileReference y FileReferenceList).
Esta sección proporciona información general sobre los elementos y clases del lenguaje ActionScript que son nuevos o han cambiado en Flash 8, así como las mejoras relativas a ActionScript en la herramienta de edición. Para obtener una lista específica de las funciones añadidas a ActionScript 2.0, consulte “Elementos añadidos al lenguaje ActionScript” en
la página 22. Para utilizar cualquiera de los nuevos elementos del lenguaje en los scripts, debe
utilizar Flash Player 8 (el predeterminado) al publicar los documentos.
19
Las funciones siguientes se añadieron tanto a Flash Basic 8 como a Flash Professional 8 (a menos que se indique lo contrario):
Las mejoras del editor de ActionScript permiten mostrar los caracteres ocultos en los
scripts. Para más información, consulte “Visualización de caracteres ocultos” en
la página 57.
Las opciones de depuración se encuentran ahora disponibles en la ventana Script, así como
el panel Acciones, para los archivos ActionScript.
Se ha reorganizado el directorio Configuration que incluye los archivos XML y de clases.
Consulte “Archivos de configuración que se instalan con Flash 8” en la página 69 para obtener más detalles.
Puede definir una preferencia para volver a cargar archivos de script modificados mientras
trabaja en una aplicación, lo que le ayuda a evitar trabajar con versiones anteriores de archivos de script y sobrescribir los que sean más nuevos. Para más información, consulte
“Preferencias de ActionScript” en la página 45.
La función de la ventana Script se encuentra disponible en Flash Basic 8 y Flash
Professional 8, lo que indica que puede crear ahora un archivo de ActionScript en cada programa.
El asistente de script (similar al modo Normal en las versiones anteriores de Flash) le ayuda
a codificar sin necesidad de entender la sintaxis. Para más información sobre el asistente de script, consulte “Asistente de script” en la página 62.
Puede cargar nuevos tipos de archivos de imagen en tiempo de ejecución, que incluyen
imágenes JPEG progresivas, así como archivos GIF y PNG no animados. Si carga un archivo animado, aparece el primer fotograma de la animación.
Puede asignar identificadores de vinculación a los archivos de mapas de bits y de sonido
almacenados en la biblioteca, lo que significa que puede asociar imágenes al escenario o trabajar con estos elementos en bibliotecas compartidas.
La caché de mapa de bits permite mejorar el rendimiento de las aplicaciones en tiempo de
ejecución al almacenar en caché una representación de mapa de bits de las instancias. Puede utilizar código ActionScript para acceder a esta propiedad. Para más información, consulte “Caché de mapa de bits, desplazamiento y rendimiento” en la página 513.
La escala de 9 divisiones permite escalar instancias de clip de película sin ampliar los trazos
que forman el contorno del clip. Puede utilizar código ActionScript para acceder a esta función en Flash Basic 8 y Flash Professional 8, o bien en la herramienta de edición de Flash 8. Para más información, consulte “Utilización de escala en 9 divisiones en
ActionScript” en la página 592. Para obtener información sobre el acceso a la escala de 9
divisiones en la herramienta de edición, consulte “La escala en 9 divisiones y los símbolos
de clip de película” en la página 90 en Utilización de Flash.
20 Novedades de Flash 8 ActionScript
Ahora puede añadir información de metadatos a los archivos FLA en el cuadro de diálogo
Configuración de publicación. Con el cuadro de diálogo se puede añadir un nombre y una descripción al archivo FLA para ayudar a aumentar la visibilidad en la búsqueda en línea.
Se ha mejorado el panel Cadenas a fin de admitir texto con varias líneas en el campo
Cadena y un archivo XML de idioma. Para más información, consulte “Panel Cadenas” en
la página 482.
Se ha incorporado en Flash Player un nuevo recolector de datos innecesarios, que utiliza
un recolector incremental para mejorar el rendimiento.
Se ha mejorado el flujo de trabajo para crear aplicaciones accesibles. Flash Player 8 ya no
precisa que los desarrolladores añadan todos los objetos al índice de tabulación para que el lector de pantalla lea correctamente el contenido. Para más información sobre el índice de tabulación, consulte
(propiedad MovieClip.tabIndex)
tabIndex (propiedad Button.tabIndex), tabIndex
y tabIndex (propiedad TextField.tabIndex)
en Referencia del lenguaje ActionScript 2.0.
Flash Player ha mejorado la seguridad de archivos local, con seguridad adicional al ejecutar
archivos SWF en el disco duro. Para obtener información sobre la seguridad de archivos local, consulte “Seguridad de archivos local y Flash Player” en la página 717.
Con el código ActionScript, puede utilizar la API de dibujo para controlar el estilo de línea
de los trazos que dibuje. Para más información sobre los nuevos estilos de línea, consulte
“Utilización de estilos de línea” en la página 581.
Con el código ActionScript, puede utilizar la API de dibujo para crear degradados más
complejos con los que rellenar formas. Para obtener información sobre los rellenos de degradados, consulte “Utilización de rellenos con degradado complejos” en la página 580.
Puede utilizar código ActionScript para aplicar muchos filtros a objetos en el escenario
(como instancias de clip de película). Para obtener información sobre los filtros y ActionScript, consulte “Utilización de filtros con código ActionScript” en la página 540.
Puede utilizar la API de FileReference y FileReferenceList para cargar archivos en el
servidor. Para más información, consulte “Carga y descarga de archivos” en la página 682.
Puede utilizar código ActionScript para acceder a nuevas y avanzadas formas de aplicar y
manipular los colores. Para más información, consulte “Configuración de valores de color”
en la página 606 y
ColorTransform (flash.geom.ColorTransform) en Referencia del
lenguaje ActionScript 2.0.
Se han aplicado numerosas mejoras al manejo del texto, incluidas nuevas opciones,
propiedades y parámetros en las clases TextField y TextFormat. Para más información, consulte
TextField y TextFormat en Referencia del lenguaje ActionScript 2.0.
Nuevas funciones en ActionScript 2.0 y Flash 8 21
El código ActionScript se puede utilizar para acceder a funciones de suavizado avanzado
(FlashType). Para más información, consulte “Representación de fuentes y texto
suavizado” en la página 434.
Puede eliminar archivos ASO al probar la aplicación. Seleccione Control > Eliminar
archivos ASO o Control > Eliminar archivos ASO y probar película en la herramienta de edición. Para más información, consulte “Utilización de archivos ASO” en la página 254.
Para obtener una lista de clases, elementos de lenguaje, métodos y propiedades específicas añadidas a ActionScript 2.0 en Flash 8, consulte “Elementos añadidos al lenguaje
ActionScript” en la página 22.

Elementos añadidos al lenguaje ActionScript

En esta sección se enumeran los nuevos elementos y clases del lenguaje ActionScript que son nuevos o se han modificado en Flash 8. Las siguientes clases y elementos de lenguaje son nuevas adiciones o acaban de admitirse en Flash Player 8.
Las siguientes clases se añadieron a ActionScript 2.0 en Flash 8:
La clase BevelFilter (en el paquete flash.filters) permite añadir efectos de bisel a los objetos.
La clase BitmapData (en el paquete flash.display) permite crear y manipular imágenes de
mapas de bits transparentes u opacas de tamaño arbitrario.
La clase BitmapFilter (en el paquete flash.display) es una clase base para todos los efectos
de filtro.
La clase BlurFilter permite aplicar desenfoques a los objetos de Flash.
La clase ColorMatrixFilter (en el paquete flash.filters) permite aplicar transformaciones a
los valores de colores ARGB y alfa.
La clase ColorTransform (en el paquete flash.geom) permite ajustar valores de colores en
los clips de película. La clase Color deja de admitirse en favor de esta clase.
La clase ConvolutionFilter (en el paquete flash.filters) permite aplicar efectos de filtro de
convolución de matrices.
La clase DisplacementMapFilter (en el paquete flash.filters) permite utilizar valores de
píxel de un objeto BitmapData para realizar el desplazamiento de un objeto.
La clase DropShadowFilter (en el paquete flash.filters) permite añadir efectos de sombras
sesgadas a los objetos.
La clase ExternalInterface (en el paquete flash.external) permite comunicarse mediante
ActionScript con el contenedor de Flash Player (el sistema que contiene la aplicación Flash, como un navegador con JavaScript o la aplicación de escritorio).
22 Novedades de Flash 8 ActionScript
La clase FileReference (en el paquete flash.net) permite cargar y descargar archivos entre el
equipo del usuario y un servidor.
La clase FileReferenceList (en el paquete flash.net) permite seleccionar uno o más archivos
para cargar.
La clase GlowFilter (en el paquete flash.filters) permite añadir efectos de iluminación a los
objetos.
La clase GradientBevelFilter (en el paquete flash.filters) permite añadir efectos de biseles
degradados a los objetos.
La clase GradientGlowFilter (en el paquete flash.filters) permite añadir efectos de
iluminación degradada a los objetos.
La clase IME (en la clase System) permite manipular el editor de método de entrada
(IME) del sistema operativo en Flash Player.
La clase Locale (en el paquete mx.lang) permite controlar cómo aparece texto en varios
idiomas en un archivo SWF.
La clase Matrix (en el paquete flash.geom) representa una matriz de transformación que
determina cómo asignar puntos de un espacio de coordenadas a otro.
La clase Point (en el paquete flash.geom) representa una ubicación en un sistema de
coordenadas bidimensional (x representa el eje horizontal e y el eje vertical).
La clase Rectangle (en el paquete flash.geom) permite crear y modificar objetos Rectangle.
La clase TextRenderer (en el paquete flash.text) proporciona la funcionalidad para el
suavizado de las fuentes incorporadas.
La clase Transform (en el paquete flash.geom) recopila datos sobre las transformaciones de
color y manipulaciones de coordenadas que se aplican a una instancia MovieClip.
NOTA
Se ha añadido compatibilidad oficial para la clase AsBroadcaster en Flash 8.
Los nuevos elementos de lenguaje, métodos y funciones añadidas a las clases existentes en ActionScript incluyen:
La función global showRedrawRegions proporciona la capacidad al reproductor
depurador para que perfile las regiones de la pantalla que se están dibujando de nuevo (es decir, las regiones sucias que se están actualizando). La función dispone del reproductor que muestra lo que se ha vuelto a dibujar, pero no le permite controlar estas regiones.
La propiedad blendMode de la clase Button, que establece el modo de mezcla para la
instancia de botón.
La propiedad cacheAsBitmap de la clase Button, que permite guardar en caché el objeto
como una representación interna de mapa de bits de la instancia.
Nuevas funciones en ActionScript 2.0 y Flash 8 23
La propiedad filters de la clase Button, que es una matriz indexada que contiene cada
objeto de filtro asociado al botón.
La propiedad scale9Grid de la clase Button, que es la región rectangular que define
nueve regiones de escala de la instancia.
La propiedad hasIME de la clase System.capabilities, que indica si el sistema tiene un
editor de método de entrada (IME) instalado.
La propiedad getUTCYear de la clase Date, que devuelve el año de esta fecha, según la
hora universal.
El método isAccessible() de la clase Key devuelve un valor booleano que indica si otros
archivos SWF pueden acceder a la última tecla pulsada, según las restricciones de seguridad.
El controlador de eventos onHTTPStatus de la clase LoadVars devuelve el código de estado
que se devuelve del servidor (por ejemplo, el valor 404 para la página no encontrada). Para más información, consulte
onHTTPStatus (controlador XML.onHTTPStatus) en
Referencia del lenguaje ActionScript 2.0.
El método attachBitmap() de la clase MovieClip, que asocia una imagen de mapa de
bits a un clip de película. Para más información, consulte
(flash.display.BitmapData)
El método beginBitmapFill() de la clase MovieClip, que asocia un clip de película a
en Referencia del lenguaje ActionScript 2.0.
BitmapData
una imagen de mapa de bits.
Los parámetros spreadMethod, interpolationMethod y focalPointRatio del método
beginGradientFill() en la clase MovieClip. Este método rellena un área de dibujo con
una imagen de mapa de bits y el mapa de bits se puede repetir o incluir en un mosaico para rellenar el área.
La propiedad blendMode de la clase MovieClip, que permite establecer el modo de mezcla
para la instancia.
La propiedad cacheAsBitmap de la clase MovieClip, que permite guardar en caché el
objeto como una representación interna de mapa de bits de la instancia.
La propiedad filters de la clase MovieClip, que es una matriz indexada que contiene
cada objeto de filtro asociado actualmente a la instancia.
El método getRect() de la clase MovieClip, que devuelve las propiedades que son los
valores mínimo y máximo de las coordenadas de la instancia especificada.
El método lineGradientStyle() de la clase MovieClip, que especifica un estilo de línea
de degradado que utiliza Flash al dibujar una ruta.
24 Novedades de Flash 8 ActionScript
■ Los parámetros pixelHinting, noScale, capsStyle, jointStyle y miterLimit del
método
lineStyle() en la clase MovieClip. Estos parámetros especifican tipos de estilos
de línea que se pueden utilizar al dibujar líneas.
La propiedad opaqueBackground de la clase MovieClip, que establece el color del fondo
opaco (no transparente) del clip de película con el color que especifica el valor hexadecimal RGB.
La propiedad scale9Grid de la clase MovieClip, que es la región rectangular que define
nueve regiones de escala de la instancia.
La propiedad scrollRect de la clase MovieClip, que permite desplazar rápidamente el
contenido del clip de película y abrir una ventana que muestre mayor cantidad de contenido.
La propiedad transform de la clase MovieClip, que permite fijar la configuración en
relación a la matriz, transformación de color y límites de píxel de un clip de película. Para más información, consulte
Transform (flash.geom.Transform) en Referencia del
lenguaje ActionScript 2.0.
El parámetro status del controlador de eventos MovieClipLoader.onLoadComplete
devuelve el código de estado que se devuelve del servidor (por ejemplo, el valor 404 para la página no encontrada). Para más información, consulte
eventos MovieClipLoader.onLoadComplete)
onLoadComplete (detector de
en Referencia del lenguaje ActionScript
2.0.
El controlador de eventos onLoadError de la clase MovieClipLoader se invoca cuando no
se carga un archivo cargado con
El parámetro secure del método SharedObject.getLocal() determina si el acceso a
MovieClipLoader.loadClip().
este objeto compartido se restringe a los archivos SWF transmitidos a través de una conexión HTTPS. Para más información, consulte
SharedObject.getLocal)
La propiedad sandboxType de la clase System.security indica el tipo de modelo de
en Referencia del lenguaje ActionScript 2.0.
getLocal (método
seguridad del entorno local en el que está funcionando el archivo SWF que realiza la llamada. Para más información, consulte
security.sandboxType)
La propiedad antiAliasType de la clase TextField, que establece el tipo de suavizado que
en Referencia del lenguaje ActionScript 2.0.
sandboxType (propiedad
utiliza para la instancia TextField.
La propiedad filters de la clase TextField, que es una matriz indexada que contiene cada
objeto de filtro asociado actualmente a la instancia TextField.
Nuevas funciones en ActionScript 2.0 y Flash 8 25
La propiedad gridFitType de la clase TextField, que establece el tipo de ajuste de
cuadrícula que utiliza para la instancia. Para obtener información sobre el ajuste de cuadrícula y TextField.gridFitType, consulte
TextField.gridFitType)
La propiedad sharpness de la clase TextField, que establece la nitidez de los bordes de
en Referencia del lenguaje ActionScript 2.0.
glifo para la instancia TextField. Debe establecer el método
gridFitType (propiedad
antiAliasType() como
avanzado si utiliza esta propiedad.
La propiedad thickness de la clase TextField, que establece el grosor de los bordes de
glifo en la instancia TextField. Debe establecer el método
antiAliasType() como
avanzado si utiliza esta propiedad.
El valor justify para la propiedad align de la clase TextFormat, que permite justificar
un párrafo especificado.
La propiedad indent de la clase TextFormat, que permite utilizar valores negativos.
La propiedad kerning de la clase TextFormat, que permite activar o desactivar el ajuste
entre caracteres para el objeto TextFormat.
La propiedad leading de la clase TextFormat, que permite utilizar el interlineado
negativo, de modo que el espacio entre líneas es menor que la altura del texto. De este modo, puede aproximar las líneas de texto en las aplicaciones.
La propiedad letterSpacing de la clase TextFormat, que permite especificar la cantidad
de espacio distribuido de forma uniforme entre los caracteres.
La propiedad _alpha de la clase Video, que es la cantidad especificada de transparencia
para el objeto de vídeo.
La propiedad _height de la clase Video, que indica la altura de la instancia de vídeo.
La propiedad _name de la clase Video, que indica el nombre de la instancia de vídeo.
La propiedad _parent de la clase Video, que indica la instancia de clip de película u
objeto que contiene la instancia de vídeo.
La propiedad _rotation de la clase Video, que permite establecer la cantidad de rotación
en grados de la instancia de vídeo.
La propiedad _visible de la clase Video class, que permite establecer la visibilidad de una
instancia de vídeo.
La propiedad _width de la clase Video, que permite establecer la anchura de la instancia
de vídeo.
La propiedad _x de la clase Video, que permite establecer la coordenada x de la instancia
de vídeo.
La propiedad _xmouse de la clase Video, que permite establecer la coordenada x de la
posición del puntero del ratón.
26 Novedades de Flash 8 ActionScript
La propiedad _xscale de la clase Video, que permite establecer el porcentaje de la escala
horizontal de la instancia de vídeo.
La propiedad _y de la clase Video, que permite establecer la coordenada y de la instancia
de vídeo.
La propiedad _ymouse de la clase Video, que permite establecer la coordenada y de la
posición del puntero del ratón.
La propiedad _yscale de la clase Video, que permite establecer el porcentaje de la escala
vertical de la instancia de vídeo.
El controlador de eventos onHTTPStatus de la clase XML devuelve el código de estado
que se devuelve del servidor (por ejemplo, el valor 404 para la página no encontrada). Para más información, consulte
onHTTPStatus (controlador XML.onHTTPStatus) en
Referencia del lenguaje ActionScript 2.0.
La propiedad localName de la clase XMLNode, que devuelve el nombre completo del
objeto de nodo XML (incluidos tanto el prefijo como el nombre local).
La propiedad namespaceURI de la clase XMLNode, que lee el URI del espacio de
nombres en el que se resuelve el prefijo del nodo XML. Para más información, consulte
namespaceURI (propiedad XMLNode.namespaceURI) en Referencia del lenguaje
ActionScript 2.0.
La propiedad prefix de la clase XMLNode, que lee el prefijo del nombre del nodo.
El método getNamespaceForPrefix() de la clase XMLNode, que devuelve el URI del
espacio de nombres asociado al prefijo especificado para el nodo.
El método getPrefixForNamespace de la clase XMLNode, que devuelve el prefijo
asociado al URI del espacio de nombres especificado para el nodo.

Elementos de lenguaje no admitidos

Algunos elementos de lenguaje no se admiten en Flash Player 8. Para obtener una lista de los elementos de lenguaje no admitidos y alternativas que pueden utilizarse en Flash Player 8, consulte las siguientes secciones en Referencia del lenguaje ActionScript 2.0:
Resumen de clases desfasadas
Resumen de funciones desfasadas
Resumen de propiedades desfasadas
Resumen de operadores desfasados
Nuevas funciones en ActionScript 2.0 y Flash 8 27

Cambios de edición de ActionScript

El editor de ActionScript en el panel Acciones y la ventana Script se ha actualizado de varias formas para que resulte más robusto y fácil de utilizar que las versiones anteriores de la herramienta. En esta sección se ofrece un resumen de dichos cambios.
Ver caracteres ocultos Ahora puede utilizar el menú emergente Opciones de los paneles
Script, Depurador y Salida para ver u ocultar caracteres cuando escribe archivos de script en el panel Acciones o la ventana Script. Para obtener información sobre esta función, consulte
“Visualización de caracteres ocultos” en la página 57.
Asistente de script añadido al panel Acciones En las versiones anteriores de Flash, podía
trabajar en el panel Acciones en modo Normal (se especificaban las opciones y los parámetros para crear el código) o en modo Experto (se añadían comandos directamente en el panel Script). Estas opciones no estaban disponibles en Flash MX 2004 ni en Flash MX Professional
2004. Sin embargo, en Flash Basic 8 y Flash Professional 8, puede trabajar en el modo de asistente de script, que es similar al modo normal existente en versiones anteriores de Flash (pero más robusto). Para obtener información sobre el asistente de script, consulte el Capítulo
13, “Escritura de ActionScript con el asistente de script” en Utilización de Flash. Para realizar
un tutorial sobre el asistente de script, consulte el Capítulo 13, “Creación de un evento
startDrag/stopDrag con el Asistente de script” en Utilización de Flash.
Volver a cargar archivos modificados Puede volver a cargar archivos de script modificados
al trabajar en una aplicación. Aparece un mensaje de advertencia en el que se le solicita que vuelva a cargar los archivos de script modificados asociados con la aplicación con la que está trabajando. Esta función resulta especialmente beneficiosa para equipos que trabajan en aplicaciones al mismo tiempo, ya que ayuda a evitar que se trabaje con scripts desactualizados o se sobrescriban versiones más recientes de un script. Si se ha movido o eliminado un archivo de script, aparece un mensaje de advertencia en el que se le indica que guarde los archivos si es necesario. Para más información, consulte “Preferencias de ActionScript” en la página 45.
28 Novedades de Flash 8 ActionScript

Cambios en el modelo de seguridad para archivos SWF instalados localmente

Flash Player 8 cuenta con un nuevo modelo de seguridad mejorado en el que las aplicaciones de Flash y los archivos SWF de un equipo local pueden comunicarse con Internet y el sistema de archivos local en vez de ejecutarse desde un servidor Web remoto. Al desarrollar una aplicación de Flash, debe indicar si se permite que el archivo SWF se comunique con una red o con un sistema de archivos local.
NOTA
En esta descripción, un archivo SWF local debe entenderse como un archivo SWF instalado localmente en el equipo de un usuario, no como archivo servido desde un sitio Web, y que no incluye archivos de proyector (EXE).
En las versiones anteriores de Flash Player, los archivos SWF locales podían interactuar con otros archivos SWF y cargar datos de otro equipo local o remoto sin establecer la configuración de seguridad. En Flash Player 8, un archivo SWF no puede realizar conexiones con el sistema de archivos local y la red (como Internet) en la misma aplicación sin que se haya establecido un parámetro de seguridad. Se trata de una medida de seguridad; de este modo, un archivo SWF no puede leer archivos del disco duro ni enviar el contenido de dichos archivos por Internet.
Esta restricción de seguridad afecta a todo el contenido implementado localmente, tanto si es contenido antiguo (un archivo FLA creado en una versión anterior de Flash) como creado en Flash 8. Con Flash MX 2004 o una herramienta de edición anterior, podía probar una aplicación de Flash que se ejecutara localmente y también acceder a Internet. En Flash Player 8, esta aplicación solicita ahora al usuario que dé su permiso para que pueda comunicarse con Internet.
Cuando se prueba un archivo en el disco duro, hay varios pasos para determinar si el archivo es un documento local de confianza (seguro) o un documento que potencialmente no es de confianza (no seguro). Si crea el archivo en el entorno de edición de Flash (por ejemplo, cuando selecciona Control > Probar película), el archivo es de confianza porque se encuentra dentro del entorno de prueba.
En Flash Player 7 y en versiones anteriores, los archivos SWF locales tenían permisos para acceder al sistema de archivos local y a la red. En Flash Player 8, los archivos SWF locales tienen tres niveles de permiso:
Acceder al sistema de archivos local solamente (el nivel predeterminado). El archivo SWF
local puede leer desde las rutas de red de convención de nomenclatura universal (UNC) y sistema de archivos local y no se puede comunicar con Internet.
Cambios en el modelo de seguridad para archivos SWF instalados localmente 29
Acceder sólo a la red. El archivo SWF local puede acceder sólo a la red (como Internet) y
no al sistema de archivos local donde está instalado el archivo SWF.
Acceder tanto al sistema de archivos local como a la red. El archivo SWF local puede leer
del sistema de archivos local en el que está instalado el archivo, leer y escribir en cualquier servidor que le conceda permiso y usar scripts con otros archivos SWF de la red o del sistema de archivos local que le conceda permiso.
Para más detalles sobre cada nivel de permiso, consulte “Seguridad de archivos local y Flash
Player” en la página 717.
Existen también leves cambios en System.security.allowDomain y mejoras en System.security.allowInsecureDomain. Para más información sobre la seguridad de archivos local, consulte el Capítulo 17, “Aspectos básicos de la seguridad”.
30 Novedades de Flash 8 ActionScript
CAPÍTULO 2

Escritura y edición en ActionScript 2.0

Al escribir código ActionScript en Macromedia Flash Basic 8 o Macromedia Flash Professional 8, se utiliza el panel Acciones o la ventana Script. El panel Acciones y la ventana Script contienen un editor de código completo (denominado editor de ActionScript) que incluye sugerencias y consejos para el código, coloreado y aplicación de formato del código, resaltado de sintaxis, revisión de sintaxis, depuración, números de línea, ajuste de texto y compatibilidad con Unicode en dos vistas distintas. Para más información sobre el editor de ActionScript, consulte “Utilización del panel Acciones y la ventana Script” en la página 36.
Puede utilizar uno de dos métodos existentes para escribir código ActionScript en Flash. Puede escribir scripts que forman parte del documento de Flash (es decir, scripts incorporados en el archivo FLA), o bien escribir scripts externos (scripts o clases almacenados en archivos externos). Sin embargo, no puede utilizar el panel Acciones para escribir scripts externos.
Al escribir scripts en un archivo FLA, se utiliza el editor de ActionScript del panel Acciones. Este panel contiene el editor de ActionScript en un panel Script y herramientas para facilitar la escritura de scripts. Entre estas herramientas, se incluye la caja de herramientas Acciones, que le proporciona acceso rápido a los principales elementos del lenguaje ActionScript, el navegador de scripts, que le ayuda a desplazarse por los scripts del documento, y el modo de asistente de script, que le solicita el elemento necesario para crear scripts. Para más información sobre el panel Acciones, consulte “Panel Acciones” en la página 37. Para más información sobre el asistente de script, consulte “Asistente de script” en la página 62.
Cuando necesite crear un script externo, deberá utilizar la ventana Script del editor de ActionScript para crear un nuevo archivo ActionScript. (También puede utilizar su editor de texto favorito para crear un archivo AS externo.) En la ventana Script, el editor de ActionScript incluye funciones de ayuda para el código, como sugerencias y colores de código o revisión de la sintaxis, entre otras, del mismo modo que el panel Acciones. Para más información sobre la ventana Script, consulte “Ventana Script” en la página 38.
2
31
Flash proporciona ayuda adicional para crear scripts a través de comportamientos. Los comportamientos son funciones predefinidas de ActionScript que puede asociar a los objetos del documento de Flash y que evitan que tenga que crear el código ActionScript manualmente. Para más información sobre comportamientos, consulte “Comportamientos”
en la página 65.
Para más información sobre el control de eventos, consulte las secciones siguientes:
ActionScript y eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Organización de código ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Utilización del panel Acciones y la ventana Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Panel Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Ventana Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Codificación en el panel Acciones y la ventana Script. . . . . . . . . . . . . . . . . . . . . . . . .40
Funciones del panel Acciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Comportamientos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
Configuración de publicación de ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

ActionScript y eventos

En Macromedia Flash Basic 8 y Macromedia Flash Professional 8, el código ActionScript se ejecuta cuando se produce un evento: por ejemplo, cuando se carga un clip de película, cuando se entra en un fotograma clave de la línea de tiempo o cuando el usuario hace clic en un botón. Los eventos puede accionarlos el usuario o el sistema. Los usuarios hacen clic en botones y presionan teclas; el sistema acciona eventos cuando se cumplen condiciones específicas o finalizan procesos (se carga el archivo SWF, la línea de tiempo llega a un determinado fotograma, termina de cargarse un gráfico, etc.).
Deberá escribir un controlador de evento que responda con una acción cuando tenga lugar el evento. Comprender cuándo y dónde tienen lugar los eventos le ayudará a determinar cómo y dónde deberá responder al evento con una acción y qué herramientas de ActionScript utilizará en cada caso. Para más información, consulte “Escritura de scripts para controlar eventos” en
la página 35.
Los eventos pueden agruparse en varias categorías: eventos de ratón y de teclado, que tienen lugar cuando un usuario interactúa con la aplicación Flash a través del ratón y el teclado; eventos de clip, que se producen en los clips de película y los eventos de fotograma, que tienen lugar en los fotogramas de la línea de tiempo.
Para obtener información sobre los tipos de scripts que puede escribir para controlar eventos, consulte “Escritura de scripts para controlar eventos” en la página 35.
32 Escritura y edición en ActionScript 2.0

Eventos de ratón y teclado

Un usuario que interactúa con la aplicación o el archivo SWF desencadena eventos de ratón y de teclado. Por ejemplo, cuando el usuario pasa el puntero por encima de un botón, tiene lugar el evento lugar el evento
on (keyPress). Puede escribir código en un fotograma o asociar scripts a una instancia para
controlar estos eventos y añadir toda la interactividad que desee.
Button.onRollOver o on (rollOver); cuando hace clic en un botón, tiene Button.onRelease; si se presiona una tecla del teclado, tiene lugar el evento

Eventos de clip

Dentro de un clip de película, puede reaccionar a una serie de eventos de clip que se desencadenan cuando el usuario entra o sale de la escena o interactúa con la misma mediante el ratón o el teclado. Por ejemplo, podría cargar un archivo SWF o de imagen JPG externo en el clip de película cuando el usuario entrase en la escena o permitir que los movimientos del ratón del usuario cambiasen de posición los elementos de la escena.

Eventos de fotograma

En una línea de tiempo principal o de clip de película, un evento de sistema tiene lugar cuando la cabeza lectora entra en un fotograma clave (esto se conoce como evento de fotograma). Los eventos de fotograma son útiles para desencadenar acciones en función del paso del tiempo (el avance por la línea de tiempo) o para interactuar con elementos que actualmente están visibles en el escenario. Al añadir un script a un fotograma clave, el script se ejecuta cuando se llega al fotograma clave durante la reproducción. Un script asociado a un fotograma se denomina script de fotograma.
Uno de los usos más habituales de los scripts de fotograma es para detener la reproducción cuando se alcanza un determinado fotograma clave. Esto se consigue mediante la función
stop(). Se selecciona un fotograma clave y luego se añade la función stop() como elemento
de script en el panel Acciones.
Una vez que haya detenido el archivo SWF en un determinado fotograma clave, deberá realizar alguna acción. Por ejemplo, podría utilizar un script de fotograma para actualizar dinámicamente el valor de una etiqueta, para gestionar la interacción de los elementos del escenario, etc.
ActionScript y eventos 33

Organización de código ActionScript

Puede asociar scripts a fotogramas clave y a instancias de objetos (clips de película, botones y otros símbolos). Sin embargo, si dispersa el código ActionScript entre muchos fotogramas clave e instancias de objetos, la depuración de la aplicación resultará mucho más compleja. Además, resultará imposible que varias aplicaciones de Flash compartan el mismo código. Por consiguiente, es importante seguir las recomendaciones de codificación al crear código ActionScript en Flash.
En lugar de asociar los scripts a elementos como fotogramas clave, clips de película y botones, debe responder a los eventos llamando a funciones que residan en una ubicación central. Uno de los métodos consiste en adjuntar código ActionScript incorporado al primer o al segundo fotograma de la línea de tiempo cuando sea posible, de manera que no tenga que buscar por todo el archivo FLA para localizar todo el código. Otra práctica habitual consiste en crear una capa llamada actions y colocar el código ActionScript en ella.
Al asociar todos los scripts a elementos individuales, está incorporando todo el código en el archivo FLA. Si es importante que el código puedan compartirlo otras aplicaciones de Flash, utilice la ventana Script o su editor de texto preferido para crear un archivo ActionScript (AS) externo.
Al crear un archivo externo, consigue que el código sea más modular y esté mejor organizado. Conforme crezca el proyecto, observará cómo este enfoque resulta mucho más útil de lo que en un principio pudiera imaginar. Un archivo externo facilita la depuración y el control del código fuente si trabaja en un proyecto con otros desarrolladores.
Para utilizar el código ActionScript contenido en un archivo AS externo, deberá crear un script dentro del archivo FLA y luego utilizar la sentencia que ha guardado externamente, como se muestra en el ejemplo siguiente:
#include "../core/Functions.as"
#include para acceder al código
34 Escritura y edición en ActionScript 2.0
También puede utilizar ActionScript 2.0 para crear clases personalizadas. Debe almacenar las clases personalizadas en archivos AS externos y utilizar sentencias que las clases se exporten al archivo SWF, en lugar de utilizar sentencias
import en un script para
#include. Para más
información sobre la escritura de archivos de clases, consulte “Escritura de archivos de clases
personalizadas” en la página 205 y “Importación de archivos de clases” en la página 209 sobre
la importación de archivos de clases. También puede utilizar componentes (clips de película creados previamente) para compartir código y funcionalidad como, por ejemplo, scripts y elementos de la interfaz de usuario.
NOTA
El código ActionScript de los archivos externos se compila en un archivo SWF cuando se publica, se exporta o se depura un archivo FLA. Por lo tanto, si realiza modificaciones en un archivo externo deberá guardarlo y volver a compilar todos los archivos FLA que lo utilizan.
Al escribir código ActionScript en Flash 8, se utiliza el panel Acciones, la ventana Script, o ambos. La conveniencia de uno u otro vendrá determinada por la forma en que responda a los eventos, cómo organice el código y, por encima de todo, las prácticas de codificación más recomendables.
Para más información sobre prácticas recomendadas y convenciones de codificación, consulte
“Convenciones de codificación de ActionScript” en la página 790.
Al utilizar comportamientos, que son funciones de ActionScript predefinidas (consulte
“Comportamientos” en la página 65), se deben tener en cuenta otros problemas de flujo de
trabajo y organización del código.

Escritura de scripts para controlar eventos

La escritura de código de eventos se puede dividir en dos categorías principales: los eventos que tienen lugar en la línea de tiempo (en fotogramas clave) y los que tienen lugar en instancias de objeto (clips de película, botones y otros componentes). La interactividad de la aplicación o archivo SWF puede distribuirse entre los numerosos elementos que integran el proyecto y es posible que tenga la tentación de añadir scripts directamente a estos elementos. Sin embargo, Macromedia recomienda no añadir scripts directamente a estos elementos (fotogramas clave y objetos). Por el contrario, debe responder a los eventos llamando a funciones que residen en una ubicación central, como se describe en “Organización de código
ActionScript”.
Organización de código ActionScript 35

Utilización del panel Acciones y la ventana Script

Para crear scripts en un archivo FLA, se introduce código ActionScript directamente en el panel Acciones. Para crear scripts externos que incluirá o importará a la aplicación, puede utilizar la ventana Script (Archivo > Nuevo y seleccione Archivo ActionScript) o su editor de texto preferido.
Cuando se utiliza el panel Acciones o la ventana Script, se utilizan las funciones del editor de ActionScript para escribir, aplicar formato y editar el código. Tanto el panel Acciones como la ventana Script cuentan con un panel Script (que es donde se escribe el código) y la caja de herramientas Acciones. El panel Acciones ofrece algunas funciones más de ayuda para el código que la ventana Script. Flash ofrece estas funciones en el panel Acciones porque resultan especialmente útiles en el contexto de edición de ActionScript dentro de un archivo FLA.
Para mostrar el panel Acciones, realice uno de los siguientes procedimientos:
Seleccione Ventana > Acciones.
Presione F9.
Para mostrar la ventana Script, realice uno de los siguientes procedimientos:
Para empezar a escribir un nuevo script, seleccione Archivo > Nuevo y elija Archivo
ActionScript.
Para abrir un script existente, seleccione Archivo > Abrir y, a continuación, abra un
archivo AS.
Para editar un script que ya está abierto, haga clic en la ficha de documento que muestra el
nombre del script.
Para más información, consulte los temas siguientes:
“Panel Acciones” en la página 37
“Ventana Script” en la página 38
36 Escritura y edición en ActionScript 2.0

Panel Acciones

El panel Acciones permite crear código ActionScript en un documento de Flash (archivo FLA). Este panel consta de tres paneles, cada uno de los cuales le facilita la creación y gestión de los scripts.
Caja de herramientas Acciones
Caja de herramientas Acciones Se utiliza para examinar una lista de elementos del
Navegador de scripts Panel Script
lenguaje ActionScript ordenados por categorías (funciones, clases, tipos, etc.) y luego insertarlos en el panel Script. Para insertar un elemento de script en el panel Script, haga doble clic en él o arrástrelo directamente al panel Script. También puede añadir elementos del lenguaje a los scripts mediante el botón Añadir (+) de la barra de herramientas del panel Acciones. Para más información, consulte “Barras de herramientas del panel
Acciones y la ventana Script” en la página 41.
Navegador de scripts Muestra una lista jerárquica de elementos de Flash (clips de
película, fotogramas y botones) que contienen scripts. Utilice el navegador de scripts para desplazarse rápidamente por todos los scripts del documento de Flash.
Si hace clic en un elemento del navegador de scripts, el script asociado con ese elemento aparecerá en el panel Script y la cabeza lectora se desplazará a esa posición en la línea de tiempo. Si hace doble clic en un elemento del navegador de scripts, el script quedará fijado (bloqueado en su sitio). Para más información, consulte “Fijación de scripts en el panel
Acciones” en la página 63.
Menú emergente
Panel Acciones 37
Panel Script En este panel es donde se escribe el código. El panel Script ofrece
herramientas para crear scripts en un editor completo (denominado editor de ActionScript) que incluye aplicación de formato y revisión de la sintaxis del código, sugerencias o consejos sobre códigos, colores para el código y otras funciones que simplifican la creación de scripts. Para más información, consulte “Utilización del panel Acciones y la ventana
Script” en la página 36.
Para obtener información sobre cada uno de los botones de la barra de herramientas del panel Acciones, consulte “Codificación en el panel Acciones y la ventana Script” en
la página 40. Para más información sobre las funciones del panel Acciones, consulte los
temas siguientes:
“Barras de herramientas del panel Acciones y la ventana Script” en la página 41
“Opciones de edición de ActionScript” en la página 43
“Sugerencias o consejos sobre códigos en Flash” en la página 47
“Aplicación de formato al código” en la página 53
“Utilización del resaltado de sintaxis” en la página 55
“Utilización de números de línea y ajuste de texto” en la página 56
“Utilización de las teclas de método abreviado de Esc” en la página 56
“Visualización de caracteres ocultos” en la página 57
“Utilización de la herramienta Buscar” en la página 58
“Comprobación de la sintaxis y la puntuación” en la página 59
“Importación y exportación de scripts” en la página 60

Ventana Script

Puede escribir y editar código ActionScript en la ventana Script al crear un nuevo archivo ActionScript, Flash Communication o Flash JavaScript. La ventana Script se utiliza para escribir y editar archivos de script externos e incluye color para la sintaxis, sugerencias o consejos sobre códigos y otras opciones del editor.
En la ventana Script, puede crear código ActionScript externo, comunicación de ActionScript y archivos JavaScript de Flash. En función del tipo de archivo de script externo que cree, la caja de herramientas Acciones ofrece la lista completa de elementos del lenguaje disponibles para cada uno de ellos.
Al utilizar la ventana Script, observará que algunas de las funciones de ayuda para el código, como el navegador de scripts, el asistente de script y los comportamientos, no están disponibles. Esto se debe a que estas funciones sólo son útiles en el contexto de creación de un documento de Flash, no al crear un archivo de script externo.
38 Escritura y edición en ActionScript 2.0
También observará que muchas de las opciones disponibles en el panel Acciones no lo están en la ventana Script. La ventana Script admite las siguientes opciones de editor: la caja de herramientas Acciones, buscar y reemplazar, revisión de sintaxis, aplicación de formato automático, sugerencias o consejos sobre códigos y opciones de depuración (sólo en archivos ActionScript). Además, la ventana Script permite la visualización de números de línea y caracteres ocultos y el ajuste de texto.
Para ver la ventana Script:
1. Seleccione Archivo > Nuevo.
2. Seleccione el tipo de archivo externo que desee crear (archivo ActionScript, Flash
Communication o Flash JavaScript).
Puede tener varios archivos externos abiertos al mismo tiempo; los nombres de archivo se muestran en las fichas situadas en la parte superior de la ventana Script. Para más información sobre las funciones de la ventana Script, consulte los temas siguientes:
“Barras de herramientas del panel Acciones y la ventana Script” en la página 41
“Opciones de edición de ActionScript” en la página 43
“Sugerencias o consejos sobre códigos en Flash” en la página 47
“Aplicación de formato al código” en la página 53
“Utilización del resaltado de sintaxis” en la página 55
“Utilización de números de línea y ajuste de texto” en la página 56
“Utilización de las teclas de método abreviado de Esc” en la página 56
“Visualización de caracteres ocultos” en la página 57
“Utilización de la herramienta Buscar” en la página 58
“Comprobación de la sintaxis y la puntuación” en la página 59
“Importación y exportación de scripts” en la página 60
Ventana Script 39

Codificación en el panel Acciones y la ventana Script

El panel Script, donde se edita el código, es el elemento principal tanto del panel Acciones como de la ventana Script. El panel Acciones y la ventana Script ofrecen funciones básicas de edición de scripts y de ayuda para el código, como sugerencias o consejos sobre códigos, coloreado, aplicación de formato automático, etc.
Se puede acceder a las funciones que ayudan a editar código desde la barra de herramientas del panel Acciones o la ventana Script, a través del sistema de menús y en el propio panel Acciones.
En los siguientes temas se presentan las numerosas funciones que ofrece el editor de ActionScript (panel Acciones y ventana Script):
“Barras de herramientas del panel Acciones y la ventana Script” en la página 41
“Opciones de edición de ActionScript” en la página 43
“Preferencias de ActionScript” en la página 45
“Sugerencias o consejos sobre códigos en Flash” en la página 47
“Aplicación de formato al código” en la página 53
“Utilización del resaltado de sintaxis” en la página 55
“Utilización de números de línea y ajuste de texto” en la página 56
“Utilización de las teclas de método abreviado de Esc” en la página 56
“Visualización de caracteres ocultos” en la página 57
“Utilización de la herramienta Buscar” en la página 58
“Comprobación de la sintaxis y la puntuación” en la página 59
“Importación y exportación de scripts” en la página 60
Para obtener información sólo de las funciones del panel Acciones, como la fijación de script y el navegador de script, consulte “Funciones del panel Acciones” en la página 62.
40 Escritura y edición en ActionScript 2.0
Barras de herramientas del panel Acciones y la
Añadi
t
ventana Script
Las barras de herramientas del panel Acciones y la ventana Script contienen vínculos a las funciones de ayuda para el código que le ayudan a simplificar y agilizar la codificación en ActionScript. Estas barras de herramientas son distintas en función de si utiliza el editor de ActionScript del panel Acciones o el panel Script. En la siguiente imagen se muestran las funciones incluidas en el editor de ActionScript. Las opciones marcadas sólo están disponibles en el panel Acciones.
r un nuevo elemento al scrip
Buscar
Insertar una ruta de destino *
Opciones de depuración*
Asistente de script *
Menú emergente *
Mostrar consejos sobre códigos
Formato automático
Revisar sintaxis
* Sólo panel Acciones
Referencia
Las funciones de la barra de herramientas se describen con detalle en “Utilización del panel
Acciones y la ventana Script” en la página 36. A continuación, se ofrece un resumen rápido de
los botones que encontrará en las barras de herramientas tanto del panel Acciones como de la ventana Script.
NOTA
Algunas de las opciones siguientes se encuentran solamente en el panel Acciones. Estas funciones están marcadas como Sólo panel Acciones.
Añadir un nuevo elemento al script Muestra todos los elementos del lenguaje que
también se encuentran en la caja de herramientas de ActionScript. Al elegir un elemento de la lista de categorías de elementos del lenguaje, éste se añade al script.
Buscar Busca y reemplaza texto del código ActionScript. Para más información,
consulte “Utilización de la herramienta Buscar” en la página 58.
Insertar una ruta de destino Sólo panel Acciones. Le ayuda a la hora de establecer una
ruta de destino absoluta o relativa para una acción del script. Para más información, consulte “Inserción de rutas de destino” en la página 65.
Revisar sintaxis Comprueba los errores de sintaxis existentes en el script actual. Los
errores de sintaxis se muestran en el panel Salida. Para más información, consulte
“Comprobación de la sintaxis y la puntuación” en la página 59.
Codificación en el panel Acciones y la ventana Script 41
Formato automático Aplica formato al script para lograr una sintaxis de código
correcta y mejorar la legibilidad. Puede establecer preferencias de aplicación de formato automático en el cuadro de diálogo Preferencias, disponible desde el menú Edición o desde el menú emergente del panel Acciones. Para más información, consulte “Aplicación
de formato al código” en la página 53.
Mostrar consejos sobre códigos Si ha desactivado los consejos automáticos sobre
códigos, puede utilizar este comando con el fin de mostrar manualmente un consejo para la línea de código en la que está trabajando. Para más información, consulte “Asistente de
script” en la página 62.
Opciones de depuración Establece y quita puntos de corte en el script, de forma que, al
depurar el documento de Flash, pueda detener y luego avanzar línea a línea por el script. Las opciones de depuración se encuentran ahora disponibles en la ventana Script, así como en el panel Acciones, pero sólo para los archivos ActionScript. Esta opción se desactiva para los archivos de comunicación de ActionScript y Flash JavaScript. Para obtener más información sobre la depuración de los documentos de Flash, consulte “Depuración de los
scripts” en la página 754. Para obtener información sobre el establecimiento y eliminación
de elementos, consulte “Establecimiento y eliminación de puntos de corte” en
la página 763.
Asistente de script Sólo panel Acciones. El modo de asistente de script le solicita la
introducción de los elementos necesarios para crear scripts. Para más información, consulte “Asistente de script” en la página 62.
Referencia Muestra un tema de ayuda de referencia para el elemento del lenguaje
ActionScript seleccionado en el panel Script. Por ejemplo, si hace clic en una sentencia
import y luego selecciona Referencia, aparece en el panel Ayuda el tema relativo a import.
Menú emergente Sólo panel Acciones. Contiene los diversos comandos y preferencias
que se aplican al panel Acciones o a la ventana Script. Por ejemplo, puede establecer los números de línea y el ajuste de texto en el editor de ActionScript, acceder a las preferencias de ActionScript e importar o exportar scripts. Para más información, consulte “Opciones
de edición de ActionScript” en la página 43.
42 Escritura y edición en ActionScript 2.0

Opciones de edición de ActionScript

La ventana Script y el panel Acciones ofrecen una gran variedad de funciones de ayuda para el código (herramientas que facilitan la escritura y el mantenimiento de los scripts). Estas opciones están disponibles en la barra de herramientas del panel Acciones o la ventana Script y en el menú emergente de Acciones. Al editar código ActionScript en la ventana Script, estas opciones están disponibles en la barra de herramientas y en el sistema de menús de Flash.
El panel Acciones ofrece más opciones de las que se encuentran disponibles en la ventana Script. Ello se debe a que las opciones adicionales son útiles en el contexto de creación de código ActionScript incorporado en un documento de Flash (no al escribir archivos de ActionScript externos). Para obtener información sobre cuáles de estas opciones están disponibles en la ventana Script, consulte “Ventana Script” en la página 38.
Las opciones que están disponibles en la ventana Script y el panel Acciones se describen en
“Barras de herramientas del panel Acciones y la ventana Script” en la página 41.
Las siguientes opciones están disponibles en el menú emergente del panel Acciones y a través de diversos menús de la ventana Script.
NOTA
Algunas de las opciones siguientes se encuentran solamente en el panel Acciones. Estas funciones están marcadas como Sólo panel Acciones.
Volver a cargar sugerencias de código Sólo panel Acciones. Si personaliza el modo de
asistente de script mediante la escritura de métodos personalizados, puede volver a cargar sugerencias de código sin reiniciar Flash 8.
Fijar script Sólo panel Acciones. Fija (bloquea en un lugar) el script actualmente
mostrado en el panel Script. Para más información, consulte “Fijación de scripts en el
panel Acciones” en la página 63.
Cerrar script Sólo panel Acciones. Cierra el script actualmente abierto. Cerrar todos los script Sólo panel Acciones. Cierra todos los scripts actualmente
abiertos.
Ir a línea Localiza y resalta la línea especificada del panel Script. Buscar y reemplazar Busca y reemplaza texto dentro de los scripts del panel Script.
Para más información, consulte “Utilización de la herramienta Buscar” en la página 58.
Buscar otra vez Repite la acción de búsqueda de la última cadena introducida en la
herramienta Buscar. Para más información, consulte “Utilización de la herramienta
Buscar” en la página 58.
Codificación en el panel Acciones y la ventana Script 43
Importar script Le permite importar un archivo de script (ActionScript) al panel Script.
Para más información, consulte “Preferencias de importación y exportación” en
la página 61.
Exportar script Exporta el script actual a un archivo ActionScript (AS) externo. Para
más información, consulte “Preferencias de importación y exportación” en la página 61.
Teclas de método abreviado de Esc Introduce rápidamente elementos y estructuras
sintácticas habituales del lenguaje en los scripts. Por ejemplo, al presionar Esc+g+p en el panel Script, se inserta la función
gotoAndPlay() en el script. Al seleccionar la opción
Teclas de método abreviado de Esc del menú emergente del panel Acciones, aparecen todas las teclas de método abreviado de Esc en la caja de herramientas Acciones. Para más información, consulte “Utilización de las teclas de método abreviado de Esc” en
la página 56.
Caracteres ocultos Permite ver los caracteres ocultos del script. Los caracteres ocultos
son espacios, tabuladores y saltos de línea. Para más información, consulte “Visualización
de caracteres ocultos” en la página 57.
Números de línea Muestra los números de línea en el panel Script. Para más
información, consulte “Utilización de números de línea y ajuste de texto” en la página 56.
Preferencias Sólo panel Acciones. Muestra el cuadro de diálogo de preferencias de
ActionScript. Para más información, consulte “Preferencias de ActionScript” en
la página 45.
Ajustar texto Para ajustar las líneas del script que superan el tamaño actual de la ventana
Script, seleccione Ajustar texto del menú emergente del panel Acciones. Si utiliza la ventana Script, seleccione Ajustar texto en el menú Ver. Para más información, consulte
“Utilización de números de línea y ajuste de texto” en la página 56.
Agrupar Acciones con Sólo panel Acciones. Le permite agrupar el panel Acciones (que
incluye la caja de herramientas Acciones y el navegador de scripts) con otros paneles dentro del entorno de edición de Flash.
Además, el menú emergente del panel Acciones incluye los comandos Imprimir, Ayuda y de cambio de tamaño del panel.
44 Escritura y edición en ActionScript 2.0

Preferencias de ActionScript

Tanto si edita código en el panel Acciones como si lo hace en la ventana Script, puede establecer y modificar un único conjunto de preferencias. Por ejemplo, puede controlar la sangría automática, las sugerencias (consejos) y el color del código y diversas funciones básicas de edición de código.
Para acceder a las preferencias de ActionScript:
1. Para acceder a las preferencias de ActionScript en un archivo FLA con el panel Acciones,
seleccione Preferencias en el menú emergente, o bien Edición > Preferencias (Windows) o Flash > Preferencias (Macintosh) y haga clic en ActionScript en la lista Categoría.
2. Para acceder a las preferencias de ActionScript en la ventana Script, seleccione Edición >
Preferencias y haga clic en ActionScript (Windows) o Flash > Preferencias y haga clic en ActionScript (Macintosh).
En la siguiente imagen se muestra la configuración de ActionScript que puede cambiar en Flash 8.
Codificación en el panel Acciones y la ventana Script 45
Puede establecer las siguientes preferencias:
Sangría automática Cuando la sangría automática está activada, el texto que se escribe
después del paréntesis de apertura [(] o llave inicial ({) se sangra de forma automática según el valor de Tamaño de tabulación establecido en las preferencias de ActionScript. Para más información, consulte “Aplicación de formato al código” en la página 53.
Tamaño de tabulación Especifica el número de caracteres que debe desplazarse una nueva
línea cuando está activada la sangría automática.
Sugerencias para el código Activa las sugerencias (consejos) para el código en el panel
Script. Para más información sobre el uso de sugerencias o consejos de códigos, consulte
“Sugerencias o consejos sobre códigos en Flash” en la página 47.
Demora Especifica el retardo (en segundos) hasta que se muestran las sugerencias o
consejos sobre códigos.
Fuente Especifica la fuente utilizada en el panel Script. Utilizar asignación dinámica de fuentes Comprueba que la familia de fuentes
seleccionada dispone de los glifos necesarios para representar todos los caracteres. De no ser así, Flash sustituye la familia de fuentes por otra que contenga los caracteres necesarios. Para más información, consulte “Aplicación de formato al código” en la página 53.
Codificación Especifica la codificación de caracteres utilizada al abrir, guardar, importar y
exportar archivos de ActionScript. Para más información, consulte “Importación y
exportación de scripts” en la página 60.
Volver a cargar archivos modificados Permite seleccionar cuándo se verán advertencias si
se modifica, traslada o elimina un archivo de script. Seleccione Siempre, Nunca o Mensaje.
Siempre No se muestra ninguna advertencia cuando se detecta un cambio y el archivo
se vuelve a cargar automáticamente.
Nunca No se muestra ninguna advertencia cuando se detecta un cambio y el archivo
permanece en el estado actual.
Mensaje (Predeterminado) Se muestra una advertencia cuando se detecta un cambio y
puede elegir entre volver a cargar o no el archivo.
Al crear aplicaciones que incluyen archivos de script externos, esta función ayuda a evitar sobrescribir un script que haya modificado un miembro del equipo desde que abrió la aplicación o publicar la aplicación con versiones anteriores de scripts. Las advertencias permiten cerrar automáticamente un script y volver a abrir la versión modificada más actual.
Colores de sintaxis Especifica los colores para el coloreado de código en los scripts. Con el
coloreado de código activado, puede seleccionar los colores que se mostrarán en el panel Script.
Lenguaje Abre el cuadro de diálogo Configuración de ActionScript. Para más información,
consulte “Modificación de la ruta de clases” en la página 68.
46 Escritura y edición en ActionScript 2.0

Sugerencias o consejos sobre códigos en Flash

Cuando utilice el panel Acciones o la ventana Script, podrá emplear diversas funciones que le ayudarán a escribir código sintácticamente correcto. Los consejos sobre códigos le ayudan a escribir código de forma rápida y precisa. Los consejos sobre códigos incluyen sugerencias que contienen la sintaxis correcta y menús que permiten seleccionar nombres de métodos y propiedades. En las siguientes secciones se muestra cómo escribir código que utilice estas funciones.
“Activación de las sugerencias para el código” en la página 47
“Utilización de las sugerencias para el código” en la página 48
“Strict typing de objetos para activar las sugerencias para el código” en la página 51
“Utilización de sufijos para activar las sugerencias para el código” en la página 51
“Utilización de comentarios para activar las sugerencias para el código” en la página 53
Activación de las sugerencias para el código
Al trabajar en el panel Acciones o en la ventana Script, Flash puede detectar la acción que está introduciendo y mostrar una sugerencia para el código. Los dos estilos diferentes de sugerencias para el código son una sugerencia que contiene la sintaxis completa de la acción en cuestión y un menú emergente en el que se enumeran nombres de los métodos y propiedades posibles (lo que en ocasiones denominados capacidad para completar código). Aparece un menú emergente para los parámetros, propiedades y eventos cuando utiliza strict typing o asigna un nombre a los objetos, como se explica en esta sección.
Las sugerencias para el código también aparecen al hacer doble clic en un elemento de la caja de herramientas Acciones o en Añadir (+) situado en la barra de herramientas del panel Acciones o la ventana Script para añadir acciones al panel Script. Para más información sobre cómo utilizar las sugerencias para el código cuando aparecen, consulte “Utilización de las
sugerencias para el código” en la página 48.
NOTA
Las sugerencias para el código están activadas automáticamente para clases nativas que no requieren que se cree y asigne un nombre a una instancia de la clase, como Math, Key, Mouse, etc.
Para asegurarse de que estén activados las sugerencias para el código, la opción Sugerencias para el código debe estar seleccionada en el cuadro de diálogo Preferencias de ActionScript. Para más información, consulte “Panel Acciones” en la página 37.
Codificación en el panel Acciones y la ventana Script 47
Utilización de las sugerencias para el código
Las sugerencias para el código están desactivadas de forma predeterminada. Al definir las preferencias, puede desactivar las sugerencias para el código o determinar la rapidez con la que aparecen. Aunque las sugerencias para el código estén desactivadas en las preferencias, puede ver una sugerencia para un comando específico.
Para especificar la configuración de las sugerencias para el código automáticas, realice una de las acciones siguientes:
En el panel Acciones o en la ventana Script, seleccione Edición > Preferencias (Windows)
o Flash > Preferencias (Macintosh), haga clic en ActionScript de la lista Categoría y active o desactive Sugerencias para el código.
En el panel Acciones, seleccione Preferencias en el menú emergente (en la parte superior
derecha del panel Acciones) y active o desactive Sugerencias para el código en las preferencias de ActionScript.
Si activa las sugerencias para el código, también puede especificar los segundos que deben transcurrir antes de que aparezcan dichas sugerencias. Por ejemplo, si no tiene experiencia con ActionScript, seguramente preferirá que no haya ninguna demora, ya que así las sugerencias para el código aparecen inmediatamente. No obstante, si suele saber lo que desea escribir y tan sólo necesita sugerencias cuando utiliza elementos de lenguaje con los que no está familiarizado, puede especificar una demora para que las sugerencias para el código no aparezcan cuando no desee utilizarlas.
Para especificar una demora en las sugerencias para el código:
1. En el panel Acciones o en la ventana Script, seleccione Edición > Preferencias (Windows)
o Flash > Preferencias (Macintosh) desde el menú principal.
2. Haga clic en ActionScript de la lista Categoría.
3. Utilice el deslizador para seleccionar una cantidad de retraso.
Esta cantidad es en segundos.
Para trabajar con sugerencias para el código con formato de información sobre herramientas:
1. Visualice las sugerencias para el código escribiendo un paréntesis de apertura [(] después
de un elemento que requiere paréntesis (por ejemplo, después de un nombre de método, un comando del tipo
48 Escritura y edición en ActionScript 2.0
if o do..while, etc.).
Aparece la sugerencia para el código.
NOTA
Si no aparece la sugerencia para el código, asegúrese de que no ha desactivado Sugerencias para el código en las preferencias de ActionScript (Edición > Preferencias (Windows) o Flash > Preferencias (Macintosh) y haga clic en ActionScript de la lista Categoría). Si desea visualizar sugerencias para el código para una variable u objeto que ha creado, asegúrese de que ha asignado un nombre correcto a la variable o al objeto (consulte “Utilización de sufijos para activar las
sugerencias para el código” en la página 51), o que utiliza strict typing para la
variable u objeto (consulte “Strict typing de objetos para activar las sugerencias para
el código” en la página 51).
2. Introduzca un valor para el parámetro.
Si hay presente más de un parámetro, separe los valores con comas. En el caso de funciones o sentencias, como el bucle
for, separe los parámetros con punto y coma.
Los comandos sobrecargados (funciones o métodos que pueden invocarse con diferentes conjuntos de parámetros), como
gotoAndPlay() o for, muestran un indicador que
permite seleccionar el parámetro que desea establecer. Haga clic en los botones de flecha o presione Ctrl+Flecha izquierda o Ctrl+Flecha derecha para seleccionar el parámetro.
3. Para cerrar la sugerencia para el código, utilice uno de los procedimientos siguientes:
Escriba un paréntesis de cierre [)].
Haga clic fuera de la sentencia.
Presione Esc.
Codificación en el panel Acciones y la ventana Script 49
Para trabajar con las sugerencias para el código con formato de menú:
1. Visualice la sugerencia para el código escribiendo un punto después del nombre de objeto
o variable. Aparece el menú de sugerencias para el código.
NOTA
Si no aparece la sugerencia para el código, asegúrese de que no ha desactivado Sugerencias para el código en las preferencias de ActionScript (Edición > Preferencias (Windows) o Flash > Preferencias (Macintosh) y haga clic en ActionScript de la lista Categoría). Si desea visualizar sugerencias para el código para una variable u objeto que ha creado, asegúrese de que ha asignado un nombre correcto a la variable o al objeto (consulte “Utilización de sufijos para activar las
sugerencias para el código” en la página 51), o que utiliza strict typing para la
variable u objeto (consulte “Strict typing de objetos para activar las sugerencias para
el código” en la página 51).
2. Para desplazarse por las sugerencias para el código, utilice las teclas de flecha arriba y flecha
abajo.
3. Para seleccionar un elemento del menú, presione Intro o el tabulador, o haga doble clic en
el elemento.
4. Para cerrar la sugerencia para el código, utilice uno de los procedimientos siguientes:
Seleccione uno de los elementos del menú.
Haga clic por encima o por debajo de la ventana de menú.
Escriba un paréntesis de cierre [)] si ya ha utilizado un paréntesis de apertura [(].
Presione Esc.
Para mostrar manualmente una sugerencia para el código:
1. Haga clic en una ubicación de código en la que puedan aparecer sugerencias para el código,
como en las siguientes ubicaciones:
Después del punto (.) que aparece a continuación de una sentencia o comando, donde
debe especificarse una propiedad o un método
Entre paréntesis [()] en un nombre de método
50 Escritura y edición en ActionScript 2.0
2. Siga uno de estos procedimientos:
Haga clic en Mostrar consejos sobre códigos en la barra de herramientas del panel
Acciones o ventana Script.
Presione Ctrl+barra espaciadora (Windows) o Comando+barra espaciadora
(Macintosh).
Si está utilizando el panel Acciones, seleccione Mostrar consejos sobre códigos en el
menú emergente.
Strict typing de objetos para activar las sugerencias para el código
Cuando se utiliza ActionScript 2.0, se puede utilizar strict typing para una variable basada en una clase incorporada, como Botón, Array, etc. De este modo, el panel Script muestra las sugerencias para el código de la variable. Por ejemplo, suponga que escribe el código siguiente:
var names:Array = new Array(); names.
En cuanto escriba el punto (.), Flash mostrará una lista de métodos y propiedades disponibles para los objetos Array en un menú emergente, ya que ha definido la variable como una matriz. Para más información sobre la escritura de datos, consulte “Asignación de tipos de datos y
“strict data typing”” en la página 337. Para más información sobre cómo utilizar las
sugerencias para el código cuando aparecen, consulte “Utilización de las sugerencias para el
código” en la página 48.
Utilización de sufijos para activar las sugerencias para el código
Si utiliza ActionScript 1 o desea visualizar las sugerencias para el código de los objetos que crea sin strict typing (consulte “Strict typing de objetos para activar las sugerencias para el código”
en la página 51), debe añadir un sufijo especial al nombre de cada objeto cuando lo cree. Por
ejemplo, los sufijos que activan las sugerencias para el código para la clase Array y la clase Camera son
var my_array = new Array(); var my_cam = Camera.get();
puede introducir cualquiera de las siguientes posibilidades (el nombre de la variable seguido de un punto):
my_array. my_cam.
Aparecerán sugerencias para el código de los objetos Array y Camera.
_array y _cam, respectivamente. Por ejemplo, si escribe el código siguiente:
Codificación en el panel Acciones y la ventana Script 51
Para los objetos que aparecen en el escenario, utilice el sufijo del cuadro de texto Nombre de instancia del inspector de propiedades. Por ejemplo, para ver las sugerencias para el código de objetos MovieClip, utilice el inspector de propiedades para asignar nombres de instancia con el sufijo
_mc a todos los objetos MovieClip. Así, siempre que escriba el nombre de instancia
seguido de un punto, se mostrarán las sugerencias para el código. Aunque los sufijos no son necesarios para activar las sugerencias para el código cuando se
utiliza el strict typing de un objeto, su utilización ayuda a comprender los scripts. En la tabla siguiente se enumeran los sufijos necesarios para que se presenten sugerencias para
el código automáticamente.
Tipo de objeto Sufijo de la variable
Array _array
Button _btn
Camera _cam
Color _color
ContextMenu _cm
ContextMenuItem _cmi
Date _date
Error _err
LoadVars _lv
LocalConnection _lc
Microphone _mic
MovieClip _mc
MovieClipLoader _mcl
PrintJob _pj
NetConnection _nc
NetStream _ns
SharedObject _so
Sound _sound
String _str
TextField _txt
TextFormat _fmt
Video _video
52 Escritura y edición en ActionScript 2.0
Tipo de objeto Sufijo de la variable
XML _xml
XMLNode _xmlnode
XMLSocket _xmlsocket
Para más información sobre cómo utilizar las sugerencias para el código cuando aparecen, consulte “Utilización de las sugerencias para el código” en la página 48.
Utilización de comentarios para activar las sugerencias para el código
También puede utilizar comentarios de ActionScript para especificar una clase de objeto para las sugerencias para el código. En el ejemplo siguiente se indica a ActionScript que la clase de la instancia después de estos comentarios, aparecerían las sugerencias para el código que muestran la lista de métodos y propiedades de MovieClip. Si introdujese aparecería un menú con una lista de los métodos y propiedades de Array, y así sucesivamente.
// Object theObject; // Array theArray; // MovieClip theMc;
No obstante, Macromedia recomienda que, en lugar de esta técnica, se utilice “strict data typing” (consulte “Strict typing de objetos para activar las sugerencias para el código” en
la página 51) o sufijos (consulte “Utilización de sufijos para activar las sugerencias para el código” en la página 51), ya que dichas técnicas activan automáticamente las sugerencias para
el código y hacen que el código sea más comprensible. Para más información sobre el uso de sugerencias para el código, consulte “Utilización de las sugerencias para el código” en
la página 48.
theObject es Object y así sucesivamente. Si especificara mc seguido de un punto
theArray seguido de un punto,

Aplicación de formato al código

Puede especificar una configuración para determinar si se debe aplicar formato y sangrías automática o manualmente al código. Además, puede seleccionar si debe utilizarse asignación dinámica de fuentes, lo que garantiza que se utilicen las fuentes correctas cuando se trabaja con textos multilingües.
Para establecer las opciones de formato:
1. En el panel Acciones, seleccione Preferencias del menú emergente (en la parte superior
derecha del panel Acciones). En el cuadro de diálogo Preferencias, seleccione Formato automático.
Codificación en el panel Acciones y la ventana Script 53
De forma alternativa, en la ventana Script, seleccione Edición > Preferencias (Windows) o Flash > Preferencias (Macintosh). En el cuadro de diálogo Preferencias, seleccione Formato automático.
2. Seleccione cualquiera de las opciones de Formato automático.
Para ver el efecto de cada selección, examine el panel Vista previa.
Una vez establecidas las opciones de Formato automático, la configuración se aplicará automáticamente al código que escriba, pero no al código que ya exista; deberá aplicar manualmente la configuración al código ya existente. Debe aplicar formato manualmente a un código al que se aplicó formato con una configuración diferente, un código importado de otro editor, etc.
Para aplicar formato al código según la configuración de Formato automático, realice una de las acciones siguientes:
Haga clic en Formato automático del panel Acciones o en la barra de herramientas de la
ventana Script.
En el panel Acciones, seleccione Formato automático en el menú emergente.
Presione Ctrl+Mayús+F (Windows) o Comando+Mayúsculas+F (Macintosh).
En la ventana Script, seleccione Herramientas > Formato automático.
Para utilizar la asignación dinámica de fuentes:
Para activar o desactivar la asignación dinámica de fuentes, seleccione o anule la selección
de Utilizar asignación dinámica de fuentes en el cuadro de diálogo Preferencias. La asignación dinámica de fuentes se encuentra desactivada de forma predeterminada, ya
que así aumenta el tiempo de rendimiento al crear scripts. Si está trabajando con textos multilingües, deberá activar la asignación dinámica de fuentes, ya que de este modo, se asegura de que se utilizan las fuentes correctas.
Para utilizar una sangría automática:
Para activar y desactivar la sangría automática, seleccione o anule la selección de Sangría
automática en el cuadro de diálogo Preferencias. Cuando la sangría automática está activada, el texto que se escribe después del paréntesis
de apertura [(] o llave inicial ({) se sangra de forma automática según el valor de Tamaño de tabulación establecido en las preferencias de ActionScript.
En los scripts, puede aplicar sangría a una línea seleccionándola y presionando la tecla Tabulador. Para quitar la sangría, seleccione la línea y presione Mayús+Tab.
54 Escritura y edición en ActionScript 2.0

Utilización del resaltado de sintaxis

En ActionScript, como en cualquier lenguaje, la sintaxis es la manera en la que los elementos se agrupan para crear un significado. Si utiliza una sintaxis de ActionScript incorrecta, los scripts no funcionarán.
Cuando escribe scripts en Flash Basic 8 y Flash Professional 8, los comandos no admitidos por la versión del reproductor que esté utilizando se muestran en amarillo en la caja de herramientas Acciones. Por ejemplo, si la versión del archivo SWF de Flash Player está establecida en Flash 7, el código de ActionScript que sólo se admite en Flash Player 8 aparece en color amarillo en la caja de herramientas Acciones. (Para obtener información sobre la configuración de la versión de archivos SWF de Flash Player, consulte Capítulo 17,
“Establecimiento de las opciones de publicación para el formato de archivo SWF de Flash” en
Utilización de Flash.) También puede definir una preferencia para que Flash codifique por colores las distintas partes
de los scripts a medida que los escribe, con el fin de resaltar los errores de escritura. Por ejemplo, supongamos que establece la preferencia de coloreado de la sintaxis de tal modo que las palabras clave se muestren en color azul oscuro. Mientras escribe código, si escribe palabra
var aparecerá en azul. No obstante si, por error, escribe vae, la palabra vae
permanecerá de color negro, con lo cual usted sabrá inmediatamente que la ha escrito incorrectamente. Para obtener información sobre las palabras clave, consulte “Palabras clave”
en la página 103.
Para definir las preferencias para el coloreado de la sintaxis a medida que escribe, realice una de las acciones siguientes:
Seleccione Edición > Preferencias (Windows) o Flash > Preferencias (Macintosh), haga clic
en ActionScript de la lista Categoría y especifique la configuración de Colores de sintaxis.
En el panel Acciones, seleccione Preferencias en el menú emergente (parte superior
derecha del panel Acciones) y especifique la configuración de Colores de sintaxis en las preferencias de ActionScript.
Con el puntero del ratón en el panel Script, presione Control-U (Windows) o Comando-
U (Macintosh).
Puede cambiar la configuración de color de las palabras clave, los comentarios, los identificadores y las cadenas. Para obtener información sobre identificadores y cadenas, consulte “Terminología” en la página 851 y “Tipo de datos String (cadena)” en la página 336. Para obtener información sobre conversión en comentario, consulte “Comentarios” en
la página 95.
var, la
Codificación en el panel Acciones y la ventana Script 55

Utilización de números de línea y ajuste de texto

Puede especificar si se deben ver los números de línea y si se debe ajustar el texto de las líneas largas del código. Normalmente, se deben activar los números de línea y el ajuste de texto para facilitar la edición de código. Los números de línea facilitan el desplazamiento y el análisis del código mientras lo edita o modifica. El ajuste de texto ayuda a evitar tener que desplazarse horizontalmente por largas líneas de código (especialmente cuando trabaja en el entorno de edición o con resoluciones de pantalla bajas).
Para activar o desactivar los números de línea, siga uno de estos procedimientos:
En el panel Acciones, seleccione Números de línea en el menú emergente.
En la ventana Script, seleccione Herramientas > Números de línea.
Presione Ctrl+Mayús+L (Windows) o Comando+Mayúsculas+L (Macintosh).
Para activar o desactivar el ajuste de texto, siga uno de estos procedimientos:
En el panel Acciones, seleccione Ajustar texto en el menú emergente.
En la ventana Script, seleccione Herramientas > Ajustar texto.
Presione las teclas Ctrl+Mayús+W (Windows) o Comando+Mayúsculas+W (Macintosh).

Utilización de las teclas de método abreviado de Esc

Puede añadir muchos elementos a un script mediante las teclas de método abreviado Esc (presionando la tecla Esc y, a continuación, dos teclas más).
NOTA
Estos métodos abreviados son diferentes de los métodos abreviados de teclado que activan determinados comandos de menú.
Por ejemplo, si trabaja en el panel Script y presiona Esc+d+o, se añade el siguiente código al script:
do { } while ();
El punto de inserción se coloca justo después de la palabra while, donde puede comenzar a escribir su condición. Del mismo modo, si presiona Esc+c+h, se añade el siguiente código al script y el punto de inserción se coloca entre los paréntesis [
()], donde puede empezar a
escribir la condición:
catch () { }
56 Escritura y edición en ActionScript 2.0
Para saber (o recordar) qué comandos tienen teclas de método abreviado de Esc, puede mostrarlos junto a elementos de la caja de herramientas del panel Acciones.
Para mostrar u ocultar las teclas de método abreviado de Esc:
En el menú emergente del panel Acciones, seleccione o anule la selección de Teclas de
método abreviado de Esc. Las teclas de método abreviado de Esc aparecen junto a los elementos de la caja de
herramientas de ActionScript.

Visualización de caracteres ocultos

Al escribir y aplicar formato al código ActionScript, introducirá espacios, tabuladores y saltos de línea en el script. Obviamente, estos son útiles y necesarios para organizar el código visualmente. Sin embargo, el compilador de Flash genera errores si encuentra espacios de doble byte que no forman parte de un valor de cadena. Al mostrar los caracteres ocultos en el panel Script, podrá ver y quitar los espacios de doble byte.
Los siguientes símbolos se utilizan para mostrar cada uno de los caracteres ocultos:
espacio de un solo byte
espacio de doble byte l
tabulador >>
salto de línea
.
Codificación en el panel Acciones y la ventana Script 57
Para mostrar caracteres ocultos, siga uno de estos procedimientos:
Seleccione Caracteres ocultos en el menú emergente.
Presione Ctrl+Mayús+8 (Windows) o Comando+Mayúsculas+8 (Macintosh).
Cuando se muestran los caracteres ocultos, el panel Script presenta el siguiente aspecto:

Utilización de la herramienta Buscar

La herramienta Buscar le permite localizar y, opcionalmente, reemplazar cadenas de texto de los scripts. Puede reemplazar el texto la primera o todas las veces que aparezca en el script. También puede hacer que coincidan las mayúsculas y minúsculas del texto.
Para buscar texto en un script:
1. En la barra de herramientas del panel Acciones o la ventana Script, seleccione la
herramienta Buscar o presione Ctrl+F (Windows) o Comando+F (Macintosh).
2. Introduzca la cadena que desea buscar en el script.
3. Haga clic en Buscar siguiente.
Si el texto o los caracteres aparecen en el script, se resaltarán las palabras o caracteres en el panel Script.
58 Escritura y edición en ActionScript 2.0
Para buscar y reemplazar texto en un script:
1. En la barra de herramientas del panel Acciones o la ventana Script, haga clic en la
herramienta Buscar o presione Ctrl+F (Windows) o Comando+F (Macintosh).
2. Introduzca la cadena que desea localizar y reemplazar en el script.
3. En el cuadro de texto Reemplazar, introduzca la nueva cadena.
4. Haga clic en Buscar siguiente.
Si la cadena se encuentra en el script, se resalta.
5. Haga clic en Reemplazar para reemplazar la cadena o en Reemplazar todo para reemplazar
la cadena en todos los lugares en los que aparezca.
Una vez que haya introducido una cadena de búsqueda en la herramienta Buscar, podrá repetir la búsqueda si selecciona Buscar otra vez en el menú emergente.

Comprobación de la sintaxis y la puntuación

Para determinar si el código que ha escrito responde como se esperaba, es necesario publicar o probar el archivo. Sin embargo, puede realizar una comprobación rápida del código ActionScript sin salir del archivo FLA. Los errores de sintaxis se muestran en el panel Salida. También puede comprobar si los paréntesis, las llaves o los corchetes de un bloque de código están emparejados.
Cuando se revisa la sintaxis, se comprueba el script actual. Si el script actual llama a clases de ActionScript 2.0, dichas clases se compilan y su sintaxis también se revisa. Los demás scripts que puedan encontrarse en el archivo FLA no se revisan.
Para revisar la sintaxis, utilice uno de los procedimientos siguientes:
Haga clic en Revisar sintaxis en la barra de herramientas del panel Acciones o la ventana
Script.
En el panel Acciones, seleccione Revisar sintaxis en el menú emergente.
Seleccione el panel Script (para que se resalte) y presione Ctrl+T (Windows) o
Comando+T (Macintosh).
NOTA
Si hace clic en Revisar sintaxis en un archivo de clase ActionScript 2.0 externo en la ventana Script, la ruta de clases global afecta a este proceso. Algunas veces generará errores (aunque la ruta de clases global esté correctamente configurada) porque el compilador no tiene constancia de que se esté compilando esta clase. Para más información sobre la compilación de clases, consulte “Compilación y
exportación de clases” en la página 253.
Codificación en el panel Acciones y la ventana Script 59
Para revisar si los signos de puntuación están emparejados, siga uno de estos procedimientos:
Haga clic entre las llaves ({}), los corchetes ([]) o paréntesis [()] del script.
Para Windows, presione Ctrl+' (comilla simple) o para Macintosh, presione Comando+'
(comilla simple) para resaltar el texto que se encuentra entre las llaves, los corchetes o los paréntesis.
El resaltado ayuda a comprobar si la puntuación de apertura dispone de su correspondiente puntuación de cierre.

Importación y exportación de scripts

Puede importar un script al panel Acciones o a la ventana Script y exportar sus scripts a archivos ActionScript externos. Ambas operaciones pueden ser útiles para compartir código entre diversas aplicaciones de Flash y equipos de desarrollo.
Para importar un archivo AS externo:
Para importar un script externo a un script en el que está trabajando en el panel Script,
sitúe el punto de inserción en el lugar en el que desea que aparezca la primera línea del script externo y luego realice una de las siguientes operaciones:
En el panel Acciones, seleccione Importar script del menú emergente o presione
Ctrl+Mayús+I (Windows) o Comando+Mayús+I (Macintosh).
En la ventana Script, seleccione Importar script del menú Archivo o presione
Ctrl+Mayús+I (Windows) o Comando+Mayús+I (Macintosh).
Puede exportar un script desde el panel Acciones. Cuando esté utilizando la ventana Script, la exportación es innecesaria, ya que puede guardar el archivo AS.
Para exportar un script desde el panel Acciones:
1. Seleccione el script que va a exportar y luego haga clic en Exportar script del menú
emergente o presione Ctrl+Mayús+X (Windows) o Comando+Mayús+X (Macintosh). Aparecerá el cuadro de diálogo Guardar como.
2. Guarde el archivo de ActionScript (AS).
Flash admite una serie de formatos de codificación de caracteres (incluido Unicode), por lo que puede especificar el formato que debe utilizarse al importar y exportar scripts. Para más información, consulte “Importación y exportación de scripts” en la página 60 y “Preferencias
de importación y exportación” en la página 61.
60 Escritura y edición en ActionScript 2.0
Compatibilidad de ActionScript con Unicode
Flash 8 es compatible con la codificación de texto Unicode para ActionScript. Ello significa que se puede incluir texto en diferentes idiomas en un archivo de ActionScript. Por ejemplo, puede incluir texto en inglés, japonés y francés en un mismo archivo.
ATENCIÓN
Si utiliza una aplicación en lengua no inglesa en un sistema en lengua inglesa, el comando Probar película (consulte “Depuración de los scripts” en la página 754) dará un error si una parte cualquiera de la ruta del archivo SWF incluye caracteres que no pueden representarse mediante el esquema de codificación MBCS (Juegos de caracteres multibyte, Multibyte Character Sets). Por ejemplo, las rutas en japonés, que funcionan en un sistema en lengua japonesa, no funcionan en un sistema en inglés. Esta limitación se aplica a todas las áreas de la aplicación que utilizan el reproductor externo.
Preferencias de importación y exportación
Puede definir en las preferencias de ActionScript el tipo de codificación que se debe utilizar al importar o exportar archivos de ActionScript. Puede seleccionar la codificación UTF-8 o la codificación predeterminada. UTF-8 es un formato Unicode de 8 bits, mientras que la codificación predeterminada es el formato de codificación que admite el idioma del sistema que esté utilizando, que también se conoce como página de códigos tradicional.
Normalmente, si se importan o exportan archivos de ActionScript en formato UTF-8, se utiliza la preferencia UTF-8. Si se importan o exportan archivos con la página de códigos tradicional que utiliza el sistema, se utiliza la preferencia Codificación predeterminada.
Si el texto de los scripts no tiene el aspecto esperado al abrir o al importar un archivo, cambie la preferencia de codificación de importación. Si recibe un mensaje de advertencia al exportar archivos de ActionScript, puede cambiar la preferencia de codificación de exportación o desactivar este mensaje en las preferencias de ActionScript.
Para seleccionar las opciones de codificación de texto para importar o exportar archivos de ActionScript:
1. En el cuadro de diálogo Preferencias (Edición > Preferencias (Windows) o Flash >
Preferencias (Macintosh)), haga clic en ActionScript de la lista Categoría.
2. En Opciones de edición, realice una o las dos acciones siguientes:
En Abrir/importar, seleccione Codificación UTF-8 para abrir o importar con la
codificación Unicode o bien Codificación predeterminada para abrir o importar con la codificación del idioma que utilice el sistema.
En Guardar/exportar, seleccione Codificación UTF-8 para guardar o exportar con la
codificación Unicode, o bien Codificación predeterminada para guardar o exportar con la codificación del idioma que utilice el sistema.
Codificación en el panel Acciones y la ventana Script 61
Para activar o desactivar el mensaje de advertencia de la codificación de exportación:
1. En el cuadro de diálogo Preferencias, seleccione Edición > Preferencias (Windows) o Flash >
Preferencias (Macintosh) y haga clic en Advertencias de la lista Categoría.
2. Seleccione o anule la selección de Avisar acerca de conflictos de codificación al exportar
archivos ActionScript.

Funciones del panel Acciones

Las funciones siguientes sólo están disponibles en el panel Acciones, no lo están en la ventana Script. Aunque el panel Acciones cuenta con todas las funciones de la ventana Script, esta última se utiliza con una funcionalidad distinta. El panel Acciones debe admitir parte de la funcionalidad relacionada con los archivos FLA, que conocerá en las secciones siguientes. Para ver las funciones disponibles tanto en la ventana Script como en el panel Acciones, consulte las secciones de “Codificación en el panel Acciones y la ventana Script” en la página 40.
Para ver las funciones disponibles sólo en el panel Acciones, consulte estas secciones:
“Asistente de script” en la página 62
“Fijación de scripts en el panel Acciones” en la página 63
“Inserción de rutas de destino” en la página 65

Asistente de script

El Asistente de script le solicita la introducción de los elementos de un script, lo que le ayuda a añadir interactividad sencilla al archivo SWF o aplicación de Flash con mayor facilidad. El modo de asistente de script es idóneo para usuarios que no tengan soltura escribiendo scripts o que simplemente prefieran la comodidad que ofrece esta herramienta.
Al utilizarlo conjuntamente con el panel Acciones, el Asistente de script le pide que seleccione opciones y que introduzca parámetros. Por ejemplo, en lugar de escribir un nuevo script, puede seleccionar un elemento del lenguaje de la caja de herramientas de Acciones (o el comando Añadir (+) de la barra de herramientas), arrastrarlo al panel Script y, seguidamente, utilizar el Asistente de script para que le ayude a completar el script.
62 Escritura y edición en ActionScript 2.0
En el siguiente ejemplo, se ha añadido la función gotoAndPlay al panel Script. El Asistente de script muestra todos los datos necesarios para utilizar esta función de ActionScript; en este caso, el nombre de la escena, el tipo y el número de fotograma.

Fijación de scripts en el panel Acciones

Si no concentra todo el código en un archivo FLA en una única ubicación (descrito en
“Organización de código ActionScript” en la página 34) o si utiliza comportamientos
(consulte “Comportamientos” en la página 65), puede fijar varios scripts del panel Acciones para que sea más fácil moverse por ellos. Fijar un script significa poder mantener la ubicación del código abierta en el panel Acciones y hacer clic fácilmente entre los scripts abiertos.
En la figura siguiente, el script asociado con la ubicación actual de la línea de tiempo se encuentra en el fotograma 1 de la capa llamada Simplificar. La ficha del extremo izquierdo siempre indica la ubicación a lo largo de la línea de tiempo. Ese script también se fija (se muestra como la ficha situada más a la derecha). Se fijan otros dos scripts: uno en el fotograma 1 y otro en el fotograma 15 de la capa llamada Intro. Puede desplazarse entre los scripts fijados haciendo clic en las fichas o utilizando métodos abreviados de teclado, como Control+Mayús+. (punto). Desplazarse entre scripts fijados no cambia la posición actual en la línea de tiempo. Como puede ver en la siguiente figura, se abren varios scripts en el panel Acciones y puede hacer clic en cada ficha para desplazarse entre los scripts.
SUGERENCIA
Si el contenido que muestra el panel Script no cambia de acuerdo con la ubicación que seleccione en la línea de tiempo, probablemente el panel Script está mostrando un script fijado. Haga clic en la ficha de la izquierda en la parte inferior izquierda del panel Script para mostrar el ActionScript asociado a su ubicación a lo largo de la línea de tiempo.
Funciones del panel Acciones 63
Para fijar un script:
1. Coloque el puntero del ratón en la línea de tiempo de manera que el script aparezca en una
ficha en la parte inferior izquierda del panel Script del panel Acciones.
2. Siga uno de estos procedimientos:
Haga clic en el icono de la chincheta situado a la derecha de la ficha.
Haga clic con el botón derecho del ratón (Windows) o haga clic con la tecla Control
presionada (Macintosh) en la ficha y seleccione Fijar script.
Seleccione Fijar script en el menú emergente (en la parte superior derecha del panel
Acciones).
Con el puntero del ratón en el panel Script, presione Ctrl+= (signo igual) en Windows
o Comando+= en Macintosh.
Para liberar uno o varios scripts, siga uno de estos procedimientos:
Si aparece un script fijado en una ficha en la parte inferior izquierda del panel Script del
panel Acciones, haga clic en el icono de la chincheta situado a la derecha de la ficha.
Haga clic con el botón derecho del ratón (Windows) o haga clic con la tecla Control
presionada (Macintosh) en una ficha y seleccione Cerrar script o Cerrar todos los script.
Seleccione Cerrar script o Cerrar todos los script en el menú emergente (en la parte
superior derecha del panel Acciones).
Con el puntero del ratón en el panel Script, presione Ctrl+- (signo menos) en Windows o
Comando+- en Macintosh.
Para utilizar los métodos abreviados de teclado con scripts fijados:
Puede utilizar los siguientes métodos abreviados de teclado para trabajar con scripts
fijados:
Acción Tecla de método
abreviado de Windows
Fijar script Ctrl+= (signo igual) Comando+=
Liberar script Ctrl+- (signo menos) Comando+-
Desplazar selección a la ficha de la derecha
Desplazar selección a la ficha de la izquierda
Liberar todos los scripts Control+Mayús+- (menos) Comando+Mayús+-
64 Escritura y edición en ActionScript 2.0
Control+Mayús+. (punto) Comando+Mayús+.
Control+Mayús+, (coma) Comando+Mayús+,
Tecla de método abreviado de Macintosh

Inserción de rutas de destino

Muchas de las acciones que se crean en el script afectan a clips de película, botones y otras instancias de símbolos. Para aplicar acciones a instancias de una línea de tiempo, establezca la ruta de destino (la dirección de la instancia a la que desea hacer referencia). Puede establecer una ruta de destino absoluta o relativa.
La herramienta Insertar una ruta de destino, disponible en el panel Acciones, le solicita la introducción de la ruta de destino para la acción seleccionada en el script.
Para insertar una ruta de destino:
1. Seleccione y sitúe el puntero en una acción del script.
2. Haga clic en Insertar una ruta de destino en la barra de herramientas del panel Acciones.
Aparecerá el cuadro de diálogo Insertar ruta de destino.
3. Siga uno de estos procedimientos:
Introduzca manualmente la ruta de la instancia de destino.
Seleccione el destino de la lista de destinos disponibles.
4. Seleccione la opción de ruta Relativo o Absoluto.
5. Haga clic en Aceptar.
La ruta se añade a la acción.

Comportamientos

Los comportamientos son funciones predefinidas de ActionScript que puede asociar a los objetos del documento de Flash y que evitan que tenga que crear el código ActionScript manualmente. Los comportamientos ofrecen funcionalidad de ActionScript escrita previamente, como la navegación entre fotogramas, la carga de archivos SWF y JPEG externos, el control del orden de apilamiento de los clips de película y la función de arrastre de clips de película.
Puede utilizar los comportamientos para que la creación de una aplicación de Flash resulte más sencilla, como forma de evitar tener que escribir código ActionScript o, por el contrario, aprender cómo funciona el código ActionScript en determinadas situaciones.
Comportamientos 65
Los comportamientos sólo están disponibles cuando se trabaja con un documento de Flash, no con un archivo de script externo. Normalmente, se selecciona un objeto desencadenante en el documento, un clip de película o un botón, se selecciona Añadir en el panel Comportamientos y, seguidamente, se elige el comportamiento deseado, como se muestra en el siguiente ejemplo:
El comportamiento se añade al objeto y se muestra en el panel Acciones.

Configuración de publicación de ActionScript

Puede editar ActionScript de dos maneras. Se puede editar ActionScript incorporado en un documento de Flash mediante el panel Acciones, o bien editar ActionScript existente en un archivo de script independiente, externo al documento de Flash, mediante la ventana Script. Dado que el panel Acciones y la ventana Script son básicamente dos vistas diferentes que utiliza el mismo editor de ActionScript, la configuración y las preferencias para ActionScript dentro de Flash afectan a ambas vistas.
La configuración de publicación del documento de Flash se edita para cambiar la versión de ActionScript que debe utilizarse al publicar el documento. También puede establecer la ruta de clases para el documento actual, omitiendo la ruta de clases global de ActionScript.
Para más información sobre la modificación de la configuración de publicación de ActionScript, consulte “Modificación de la configuración de publicación de ActionScript” en
la página 67. Para más información sobre la configuración de una ruta de clases de documento
o global, consulte “Modificación de la ruta de clases” en la página 68.
66 Escritura y edición en ActionScript 2.0

Modificación de la configuración de publicación de ActionScript

De manera predeterminada, la versión de ActionScript al publicar un documento de Flash es la 2.0 y la ruta de clases se hereda de la configuración de ruta de clases global. Si necesita cambiar la versión de ActionScript o especificar una ruta de clases de documento, puede hacerlo editando la configuración de publicación.
Para cambiar la versión de ActionScript:
1. Seleccione Archivo > Configuración de publicación y elija la ficha Flash.
2. Seleccione la versión de ActionScript en el menú emergente.
ActionScript 2.0 está seleccionado de forma predeterminada. Si escribe los scripts en ActionScript 1.0 en lugar de 2.0, cambie esta configuración antes de publicar el documento de Flash.
El compilador de ActionScript 2.0 compila todo el código ActionScript 1.0, con la siguiente excepción: la sintaxis con barras (/) utilizada para indicar las rutas de clips de película (por ejemplo, se selecciona ActionScript 2.0 como versión de ActionScript. Para resolver este problema, reescriba el código empleando notación de puntos (.) en lugar de barras o seleccione el compilador de ActionScript 1.0.
Se utiliza el botón Configuración (junto al menú emergente de la versión de ActionScript) para modificar la ruta de clases de documento. Para más información, consulte “Modificación
de la ruta de clases” en la página 68.
parentClip/testMC:varName= "hello world") genera errores de compilación si
Configuración de publicación de ActionScript 67

Modificación de la ruta de clases

Al utilizar ActionScript 2.0, también podrá establecer una ruta de clases de documento. Esto le será de utilidad al crear sus propias clases si desea sustituir la ruta de clases global de ActionScript establecida en las preferencias de ActionScript.
El cambio de la ruta de clases en la configuración de publicación sólo afecta al archivo de Flash actual.
Puede utilizar el cuadro de diálogo Preferencias para modificar la ruta de clases global. Para modificar la configuración de ruta de clases de documentos, utilice el cuadro de diálogo Configuración de publicación para el archivo FLA. En ambos casos, puede añadir rutas de directorios absolutas (por ejemplo, C:/my_classes) y rutas de directorios relativas (por ejemplo, ..\my_classes o ".").
Para modificar la ruta de clases global:
1. Seleccione Edición > Preferencias (Windows) o Flash > Preferencias (Macintosh) y abra el
cuadro de diálogo Preferencias.
2. Haga clic en ActionScript de la lista Categoría y seleccione Configuración de ActionScript 2.0.
3. Siga uno de estos procedimientos:
Para añadir un directorio a la ruta de clases, haga clic en Buscar ruta, vaya al directorio
que desee añadir y haga clic en Aceptar. También puede hacer clic en Añadir nueva ruta (+) para añadir una nueva línea a la
lista de rutas de clases. Haga doble clic en la nueva línea, escriba una ruta relativa o absoluta y haga clic en Aceptar.
Para editar un directorio de ruta de clases existente, seleccione la ruta en la lista de
rutas de clases, haga clic en Buscar ruta, busque el directorio que desee añadir y haga clic en Aceptar.
También puede hacer doble clic en la ruta de la lista de rutas de clases, escribir la ruta que desee y hacer clic en Aceptar.
Para eliminar un directorio de la ruta de clases, seleccione la ruta en la lista de rutas de
clases y haga clic en Quitar ruta seleccionada.
NOTA
No elimine la ruta de clases global absoluta (consulte Rutas de clases globales y de documentos). Flash utiliza esta ruta de clases para obtener acceso a clases incorporadas. Si elimina por error esta ruta de clases, restáurela añadiendo $(LocalData)/Classes como nueva ruta de clases.
68 Escritura y edición en ActionScript 2.0
Para modificar la ruta de clases de documentos:
1. Seleccione Archivo > Configuración de publicación para abrir el cuadro de diálogo
Configuración de publicación.
2. Haga clic en la ficha Flash.
3. Haga clic en el botón Configuración situado junto al menú emergente Versión de
ActionScript.
4. Siga uno de estos procedimientos:
Para añadir un directorio a la ruta de clases, haga clic en Buscar ruta, vaya al directorio
que desee añadir y haga clic en Aceptar. También puede hacer clic en Añadir nueva ruta (+) para añadir una nueva línea a la
lista de rutas de clases. Haga doble clic en la nueva línea, escriba una ruta relativa o absoluta y haga clic en Aceptar.
Para editar un directorio de ruta de clases existente, seleccione la ruta en la lista de
rutas de clases, haga clic en Buscar ruta, busque el directorio que desee añadir y haga clic en Aceptar.
También puede hacer doble clic en la ruta de la lista de rutas de clases, escribir la ruta que desee y hacer clic en Aceptar.
Para eliminar un directorio de la ruta de clases, seleccione la ruta en la lista de rutas de
clases y haga clic en Quitar ruta seleccionada.
Para más información sobre la configuración y modificación de las rutas de clases, consulte
“Configuración y modificación de la ruta de clases” en la página 211.

Archivos de configuración que se instalan con Flash 8

Al instalar Flash Basic 8 o Flash Professional 8, se colocan en el sistema una serie de carpetas y archivos de configuración relacionados con ActionScript. Puede utilizar estos archivos para aplicar determinadas configuraciones al entorno de edición. Como siempre, se recomienda que realice modificaciones con precaución y guarde una copia de seguridad de los archivos que vaya a cambiar.
Carpeta de clases de ActionScript Contiene todas las clases de ActionScript (archivos AS)
que se incluyen en Flash Professional 8 o Flash Basic 8. Esta carpeta suele estar en rutas como las siguientes:
Windows: Disco duro\Documents and Settings\usuario\Configuración local\Datos de
programa\Macromedia\Flash 8\idioma\Configuration\Classes.
Configuración de publicación de ActionScript 69
Macintosh: Disco duro/Users/usuario/Library/Application Support/Macromedia/Flash 8/
idioma/Configuration/Classes.
La carpeta Classes se organiza en carpetas que incluyen directorios que contienen las clases para Flash Player 7 (FP7) y Flash Player 8 (FP8). También contiene un directorio para el paquete mx (mx), que se utiliza en los dos reproductores y en los archivos ASO (aso). Para más información sobre los archivos ASO, consulte “Utilización de archivos ASO” en
la página 254. Para más información sobre la organización de este directorio, consulte el
archivo Readme de la carpeta Classes.
Carpeta de clases de inclusión Contiene todos los archivos de inclusión globales de
ActionScript y está ubicada en:
Windows: Disco duro\Documents and Settings\usuario\Configuración local\Datos de
programa\Macromedia\Flash 8\idioma\Configuration\Include.
Macintosh: Disco duro/Users/usuario/Library/Application Support/Macromedia/Flash 8/
idioma/Configuration/Include.
Archivo de configuración ActionsPanel.xml Incluye el archivo de configuración de
sugerencias o consejos sobre códigos de ActionScript y está ubicado en:
Windows: Disco duro\Documents and Settings\usuario\Configuración local\Datos de
programa\Macromedia\Flash 8\idioma\Configuration\ActionsPanel\ActionScript_1_2.
Macintosh: Disco duro/Users/usuario/Library/Application Support/Macromedia/Flash 8/
idioma/Configuration/ActionsPanel/ActionScript_1_2.
Archivo de configuración AsColorSyntax.xml El archivo de configuración de color para la
sintaxis del código ActionScript; ubicado en:
Windows: Disco duro\Documents and Settings\usuario\Configuración local\Datos de
programa\Macromedia\Flash 8\idioma\Configuration\ActionsPanel\.
Macintosh: Disco duro/Users/usuario/Library/Application Support/Macromedia/Flash 8/
idioma/Configuration/ActionsPanel.
70 Escritura y edición en ActionScript 2.0
CAPÍTULO 3

ActionScript

Las funciones de programación orientada a objetos (OOP) de ActionScript 2.0 se basan en la propuesta de borrador de ECMAScript 4 que actualmente está desarrollando ECMA TC39­TG1 (consulte www.mozilla.org/js/language/es4/index.html). Dado que la propuesta ECMA- 4 no es todavía un estándar y continúa cambiando, ActionScript 2.0 se basa de manera estricta en esta especificación.
ActionScript 2.0 admite todos los elementos estándar del lenguaje ActionScript; permite escribir scripts que se ajustan mejor a los estándares utilizados en otros lenguajes orientados a objetos, como Java. ActionScript 2.0 resultará de especial interés para los desarrolladores con conocimientos intermedios o avanzados de Flash que crean aplicaciones que requieren la implementación de clases y subclases. ActionScript 2.0 también permite declarar el tipo de objeto de una variable al crearla (consulte “Asignación de tipos de datos y “strict data typing””
en la página 337) y proporciona una gestión de errores de compilador con mejoras
considerables (consulte Apéndice A, “Mensajes de error”, en la página 817). Puntos clave de ActionScript 2.0:
Los scripts que utilizan ActionScript 2.0 para definir clases o interfaces deben almacenarse
como archivos de script externos, con una sola clase definida en cada script; es decir, las clases y las interfaces no pueden definirse en el panel Acciones.
Puede importar archivos de clase individuales implícitamente (almacenándolos en una
ubicación especificada por rutas de búsqueda globales o específicas del documento y luego utilizándolos en un script) o explícitamente (utilizando el comando importar paquetes (conjuntos de archivos de clase en un directorio) utilizando caracteres comodín.
import); puede
3
71
Las aplicaciones desarrolladas con ActionScript 2.0 son compatibles con Flash Player 6 y
versiones posteriores.
ATENCIÓN
La configuración de publicación predeterminada para los nuevos archivos creados en Flash 8 es ActionScript 2.0. Si tiene previsto modificar un archivo FLA existente con ActionScript 1.0 de modo que utilice la sintaxis de ActionScript 2.0, asegúrese de que el archivo FLA tiene especificado ActionScript 2.0 en la configuración de publicación. Si no lo tiene especificado, el archivo no se compilará de forma correcta, aunque Flash no generará necesariamente errores de compilador.
Para más información sobre la utilización de ActionScript 2.0 para escribir programas orientados a objetos en Flash, consulte el Capítulo 6, “Clases”, en la página 195.
Aunque Macromedia recomienda el uso de ActionScript 2.0, puede continuar utilizando la sintaxis de ActionScript 1.0, especialmente si realiza trabajos más tradicionales de Flash, como animaciones sencillas que no exijan interacción del usuario.

Qué es ActionScript

Las características principales de ActionScript 2.0 son las siguientes:
Modelo común de programación orientada a objetos (OOP, Object Oriented Programming)
programas orientados a objetos. ActionScript 2.0 implementa varios nuevos conceptos y palabras clave de programación orientada a objetos, como por ejemplo clase, interfaz y paquetes, con los que estará familiarizado si ha programado alguna vez en código Java.
El modelo OOP que proporciona ActionScript 2.0 es una “formalización sintáctica” del método de cadenas prototipo utilizado en versiones anteriores de Macromedia Flash para crear objetos y establecer la herencia. Con ActionScript 2.0, puede crear clases personalizadas y ampliar las clases incorporadas en Flash.
Strict data typing ActionScript 2.0 también permite especificar de forma explícita tipos de
datos para variables, parámetros de función y tipos de devolución de funciones. Por ejemplo, en el siguiente código se declara una variable denominada o un tipo de datos de ActionScript incorporado).
var userName:String = "";
Advertencias y errores del compilador Las dos funciones anteriores permiten a la
herramienta de edición y al compilador proporcionar advertencias y mensajes de error que le ayudan a encontrar los fallos en las aplicaciones con más rapidez que anteriormente en Flash.
La principal función de ActionScript 2.0 es un modelo común para crear
userName de tipo String (una clase
72 ActionScript
Al utilizar ActionScript 2.0, asegúrese de que la configuración de publicación del archivo FLA especifica ActionScript 2.0. Ésta es la configuración predeterminada para los archivos creados con Flash MX 2004 y Flash 8. No obstante, si abre un archivo FLA más antiguo que utiliza ActionScript 1.0 y lo reescribe utilizando ActionScript 2.0, debe cambiar la configuración de publicación del archivo FLA a ActionScript 2.0. Si no lo hace, el archivo FLA no se compilará correctamente y no se generarán errores.

Selección entre ActionScript 1.0 y ActionScript 2.0

Cuando se inicia un nuevo documento o aplicación en Flash, debe decidirse cómo organizar los archivos asociados. Pueden utilizarse clases en algunos proyectos, por ejemplo, para crear aplicaciones o archivos FLA complejos, pero no todos los documentos utilizan clases. Por ejemplo, en muchos ejemplos breves de la documentación no se utilizan clases. Utilizar clases para almacenar funcionalidad no es la mejor solución ni la más sencilla en las aplicaciones pequeñas o en los archivos FLA sencillos. Suele resultar más eficaz colocar el código ActionScript dentro del documento. En este caso, intente colocar todo el código en el menor número de fotogramas posible de la línea de tiempo y evite colocar código en las instancias (por ejemplo, botones o clips de película) de un archivo FLA.
Cuando se crea un proyecto pequeño, suele ser más trabajoso utilizar clases o archivos de código externos para organizar el código ActionScript que añadir el código ActionScript al archivo FLA. En ocasiones, es más sencillo mantener todo el código ActionScript en el archivo FLA en lugar de colocarlo en una clase importada. Esto no significa que deba utilizar necesariamente ActionScript 1.0. Podría decidir colocar el código dentro del archivo FLA mediante ActionScript 2.0 con la función “strict data typing” y los nuevos métodos y propiedades. ActionScript 2.0 también ofrece una sintaxis que cumple los estándares de otros lenguajes de programación. De esta forma, es más sencillo y útil aprender el lenguaje. Por ejemplo, se sentirá familiarizado con ActionScript si encuentra otro lenguaje basado en los mismos estándares de estructura y sintaxis. O bien podrá aplicar este conocimiento a otros lenguajes que aprenda en el futuro. ActionScript 2.0 permite utilizar un enfoque orientado a objetos para desarrollar aplicaciones a través de un conjunto adicional de elementos de lenguaje, lo que puede ser ventajoso para el desarrollo de la aplicación.
En algunos casos, no es posible elegir la versión de ActionScript que se utilizará. Si crea un archivo SWF destinado a una versión anterior de Flash Player como, por ejemplo, una aplicación para dispositivo móvil, debe utilizar ActionScript 1.0, que es compatible con Flash Player en distintos dispositivos.
Selección entre ActionScript 1.0 y ActionScript 2.0 73
Recuerde que debería seguir las prácticas recomendadas, independientemente de la versión de ActionScript. En ambas versiones se aplican muchas de estas prácticas, como mantener la coherencia en el uso de mayúsculas y minúsculas, utilizar la capacidad de completar código, mejorar la legibilidad, evitar las palabras clave en los nombres de instancia y mantener una convención de asignación de nombres coherente.
Si tiene previsto actualizar la aplicación en futuras versiones de Flash, o aumentarla y hacerla más compleja, debería utilizar ActionScript 2.0 y las clases para que sea más sencillo actualizarla y modificarla.

ActionScript y Flash Player

Si compila un archivo SWF que contiene ActionScript 2.0 con una configuración de publicación establecida en Flash Player 6 y ActionScript 1.0, el código funcionará mientras no se utilicen clases de ActionScript 2.0. El código no distingue entre mayúsculas y minúsculas, sólo en Flash Player. Sin embargo, si se compila el archivo SWF con la opción Configuración de publicación establecida en Flash Player 7 y ActionScript 1.0, Flash aplica la distinción entre mayúsculas y minúsculas.
Las anotaciones de tipos de datos (tipos de datos estrictos) se aplican durante el tiempo de compilación para Flash Player 7 y 8 cuando la configuración de publicación está establecida en ActionScript 2.0.
ActionScript 2.0 se compila al código de bits de ActionScript 1.0 cuando publica las aplicaciones, de forma que puede utilizar la versión Flash Player 6, 7 u 8 mientras trabaja con ActionScript 2.0.
74 ActionScript
CAPÍTULO 4

Principios básicos de la sintaxis y el lenguaje

El aprendizaje de la sintaxis y las sentencias de ActionScript es como aprender a crear frases mediante la combinación de palabras, para luego formar párrafos enteros. ActionScript puede resultar así de sencillo. Por ejemplo, en español, el punto indica el final de una frase; en ActionScript, el final de una sentencia se indica mediante un punto y coma. En el lenguaje ActionScript, puede escribir una acción instancia de clip de película o la reproducción indefinida de un archivo SWF. O bien puede escribir miles de líneas de código que permitan hacer funcionar a una aplicación de banca interactiva. Como puede comprobar, ActionScript puede hacer cosas muy sencillas o muy complejas.
En el Capítulo 10, “Datos y tipos de datos”, hemos aprendido de qué forma usa el lenguaje ActionScript los datos y cómo puede aplicarle formato en el código. En este capítulo se describe cómo formar sentencias en ActionScript utilizando su sintaxis. Contiene numerosos fragmentos pequeños de código y algunos ejemplos que permiten demostrar los conceptos básicos de este lenguaje. En posteriores capítulos se incluyen ejemplos de código más largos y progresivamente complejos en los que se combinan y aplican los conceptos descritos en este capítulo.
Las reglas generales descritas en esta sección son aplicables a todo el lenguaje ActionScript. La mayoría de los términos de ActionScript también tienen sus propios requisitos; para saber cuáles son las reglas de un término determinado, consulte la entrada correspondiente en Referencia del lenguaje ActionScript 2.0.
La aplicación de los conceptos básicos de ActionScript de manera que se obtengan programas elegantes puede resultar una tarea ardua para los usuarios sin experiencia en ActionScript. Para más información sobre cómo aplicar las reglas descritas en esta sección, consulte el Capítulo 19,
“Recomendaciones y convenciones de codificación para ActionScript 2.0”, en la página 775.
NOTA
En este capítulo, se añade código ActionScript directamente a un fotograma de la línea de tiempo. En capítulos posteriores, se utilizan clases para separar el código ActionScript del archivo FLA.
stop() para detener la cabeza lectora de una
4
75
Para más información sobre los aspectos básicos de la utilización de la sintaxis y el lenguaje ActionScript, consulte los temas siguientes:
Sintaxis, sentencias y expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Sintaxis con puntos y rutas de destino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Signos de lenguaje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Constantes y palabras clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Sintaxis, sentencias y expresiones

El lenguaje ActionScript está formado por clases incorporadas. Deberá utilizar la sintaxis correcta de ActionScript para formar sentencias de manera que el código se compile y funcione correctamente en Flash. En este caso, la sintaxis se refiere a la gramática y la ortografía de un lenguaje que le permite programar. El compilador no comprende la sintaxis incorrecta, por lo que observará errores o advertencias en el panel Salida cuando intente comprobar el documento en el entorno de prueba. Por consiguiente, la sintaxis es un conjunto de reglas y directrices que le ayudan a formar código ActionScript correcto.
Una sentencia es una instrucción que se da al archivo FLA para que haga algo, como, por ejemplo, ejecutar una acción concreta. Por ejemplo, puede utilizar una sentencia condicional para determinar si algo es verdadero o si existe. Posteriormente, podría ejecutar las acciones que especifique, como, por ejemplo, funciones o expresiones, en función de si la condición es verdadera o no. La sentencia determinar la siguiente acción que debe tener lugar en el código.
// sentencia if if (condition) { // sentencias; }
Para más información sobre sentencias, consulte “Sentencias” en la página 106. Las expresiones, a diferencia de las sentencias, son cualquier combinación válida de símbolos de
ActionScript que representan un valor. Las expresiones tienen valores, mientras que los valores y las propiedades tienen tipos. Una expresión puede estar formada por operadores y operandos, valores, funciones y procedimientos. La expresión sigue las reglas de prioridad y asociación de ActionScript. Normalmente, Flash Player interpreta la expresión y luego devuelve un valor que puede utilizar en la aplicación.
if es una sentencia condicional que evalúa una condición para
76 Principios básicos de la sintaxis y el lenguaje
Por ejemplo, el siguiente código es una expresión:
x + 2
En la expresión anterior, x y 2 son operandos y + es un operador. Para más información sobre operadores y operandos, consulte “Operadores” en la página 142. Para más información sobre objetos y propiedades, consulte “Tipo de datos Object (objeto)” en la página 335.
El modo en que aplique formato al código ActionScript también determinará las posibilidades de mantenimiento de dicho código. Por ejemplo, es difícil leer la lógica de un archivo FLA que no tenga sangrías ni comentarios o que presenten un formato y unas convenciones de asignación de nombres incoherentes. Al sangrar los bloques de código ActionScript (como bucles y sentencias
if), el código resulta más fácil de leer y depurar en el caso de que se
detecten problemas. Para más información sobre la aplicación de formato de ActionScript, consulte “Aplicación de formato a la sintaxis de ActionScript” en la página 808. También encontrará una aplicación correcta de formato al código ActionScript en estas secciones.
Para más información sobre los principios básicos de la sintaxis y el lenguaje, consulte los siguientes temas:
“Diferencias entre ActionScript y JavaScript”
“Distinción entre mayúsculas y minúsculas”

Diferencias entre ActionScript y JavaScript

ActionScript es parecido al lenguaje de programación JavaScript. No es necesario tener conocimientos de JavaScript para utilizar y aprender ActionScript; sin embargo, si los tiene, ActionScript le resultará familiar.
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.
La especificación del lenguaje ECMAScript (ECMA-262) edición 3 se deriva de JavaScript
y sirve de estándar internacional del lenguaje JavaScript. ActionScript se basa en esta especificación. Para más información, consulte www.ecma-international.org/publications/
standards/Ecma-262.htm.
El sitio sobre tecnología Java dispone de tutoriales sobre programación orientada a objetos
(http://java.sun.com/docs/books/tutorial/java/index.html) específicamente diseñados para el lenguaje Java, aunque resultan útiles para comprender conceptos que puede aplicar a ActionScript.
Sintaxis, sentencias y expresiones 77
En la siguiente lista se detallan algunas de las diferencias entre ActionScript y JavaScript:
ActionScript no admite objetos específicos de navegador como Documento, Ventana
y Anclaje.
ActionScript no admite completamente todos los objetos incorporados de JavaScript.
ActionScript no admite algunas construcciones sintácticas de JavaScript, como las
etiquetas de sentencia.
En ActionScript, la función eval() sólo puede realizar referencias de variables.
ActionScript 2.0 admite diversas funciones que no se incluyen en la especificación
ECMA-262, como las clases y la comprobación de tipos al compilar. Muchas de estas funciones se modelan a partir de la especificación del lenguaje ECMAScript (ECMA-262) edición 3 (consulte www.ecma-international.org/publications/standards/Ecma-262.htm).
ActionScript no admite expresiones regulares mediante el objeto RegExp. No obstante,
Macromedia Central sí es compatible con el objeto RegExp. Para más información sobre Macromedia Central, consulte www.macromedia.com/software/central.

Distinción entre mayúsculas y minúsculas

Al escribir código ActionScript para Flash Player 7 y versiones posteriores, el código distingue entre mayúsculas y minúsculas. Esto significa que las variables con ligeras diferencias de mayúsculas y minúsculas se consideran diferentes entre sí. Esto se muestra en el siguiente código ActionScript:
// se utiliza una combinación de mayúsculas y minúsculas var firstName:String = "Jimmy"; // se utilizan sólo minúsculas trace(firstname); // undefined
O bien puede escribir lo siguiente:
// En archivos de Flash Player 8 // y ActionScript 1,0 o ActionScript 2.0 // // Define las propiedades de dos objetos diferentes cat.hilite = true; CAT.hilite = true;
// Crea tres variables diferentes var myVar:Number = 10; var myvar:Number = 10; var mYvAr:Number = 10;
NOTA
No es recomendable diferenciar entre variables o cualquier identificador mediante mayúsculas y minúsculas. Para más información sobre la asignación de nombres a las variables, consulte el Capítulo 19, “Recomendaciones y convenciones de codificación
para ActionScript 2.0”, en la página 775.
78 Principios básicos de la sintaxis y el lenguaje
Cuando publique para versiones de Flash Player (Flash Player 6 y anteriores), Flash traza la cadena
Jimmy en el panel Salida. Dado que Flash Player 7 y versiones posteriores distinguen
entre mayúsculas y minúsculas,
firstName y firstname son dos variables independientes
(cuando se utiliza ActionScript 1.0 o ActionScript 2.0). Es importante entender este concepto. Si ha creado archivos FLA para Flash Player 6 o versiones anteriores con uso diferente de mayúsculas y minúsculas en las variables, la funcionalidad y los archivos podrían romperse al convertir el archivo o la aplicación para una versión más reciente de Flash Player.
Por consiguiente, se recomienda seguir convenciones coherentes de uso de mayúsculas y minúsculas, como las que se utilizan en este manual. Al hacerlo de esta forma, también resultará más fácil distinguir variables, clases y nombres de función. No utilice mayúsculas y minúsculas para distinguir entre dos identificadores. Cambie el nombre de la instancia, variable o clase y no exclusivamente las mayúsculas y minúsculas. Para más información sobre convenciones de codificación, consulte el Capítulo 19, “Recomendaciones y convenciones de
codificación para ActionScript 2.0”, en la página 775.
La distinción entre mayúsculas y minúsculas puede ser determinante si se trabaja con un servicio Web que utilice sus propias reglas de asignación de nombres de variables y puede afectar al uso de mayúsculas y minúsculas en las variables cuando se devuelven al archivo SWF desde el servidor. Por ejemplo, si utiliza un servicio Web de ColdFusion, los nombres de propiedades de una estructura u objeto pueden tener sólo mayúsculas como, por ejemplo,
FIRSTNAME. A menos que utilice las mismas mayúsculas y minúsculas en Flash, cabe la
posibilidad de que obtenga resultados inesperados.
NOTA
La distinción entre mayúsculas y minúsculas también afecta a las variables externas que se cargan en un archivo SWF, como, por ejemplo, las que se cargan con
LoadVars.load().
La distinción entre mayúsculas y minúsculas se aplica a los scripts externos, como los archivos de clase de ActionScript 2.0, los scripts que se importan empleando el comando
#include y
los scripts de un archivo FLA. Si encuentra errores de tiempo de ejecución y está exportando a más de una versión de Flash Player, deberá revisar los archivos de script externos y los scripts de archivos FLA para confirmar que ha utilizado las mayúsculas de forma coherente.
La distinción entre mayúsculas y minúsculas se aplica por cada archivo SWF concreto. Si una aplicación Flash Player 8 (que distingue entre mayúsculas y minúsculas) estricta llama a un archivo SWF de Flash Player 6 no estricto, el código ActionScript ejecutado en el archivo SWF de Player 6 será no estricto. Por ejemplo, si utiliza
loadMovie() para cargar un archivo
SWF de Flash Player 6 en un archivo SWF de Flash Player 8, el archivo SWF de la versión 6 continuará sin distinguir entre mayúsculas y minúsculas, mientras que el SWF de la versión 8 se considerará como archivo que distingue entre mayúsculas y minúsculas.
Si activa la función Color de sintaxis, los elementos del lenguaje que haya escrito con el formato correcto de mayúsculas y minúsculas aparecen en azul de forma predeterminada. Para más información, consulte “Palabras reservadas” en la página 104.
Sintaxis, sentencias y expresiones 79

Sintaxis con puntos y rutas de destino

En ActionScript, el operador de punto (.) (sintaxis con puntos) permite acceder a propiedades y métodos que pertenecen a un objeto o instancia del escenario. También puede utilizar el operador de punto para identificar la ruta de destino de una instancia (como, por ejemplo, un clip de película), una variable, una función o un objeto.
Una expresión que utiliza la sintaxis con puntos empieza por el nombre del objeto o clip de película seguido de un punto y termina con el elemento que desee especificar. En las siguientes secciones se describe cómo escribir expresiones que utilizan la sintaxis con punto.
Para controlar un clip de película, archivo SWF cargado o un botón, es preciso especificar una ruta de destino. Las rutas de destino son direcciones jerárquicas de nombres de instancias de clips de película, variables y objetos de un archivo SWF. Para especificar una ruta de destino de un clip de película o botón, debe asignar un nombre de instancia al clip de película o botón. El nombre de una instancia de clip de película se asigna seleccionando la instancia y escribiendo el nombre de la instancia en el inspector de propiedades del clip de película. También puede especificar el nombre de instancia con código si crea la instancia mediante ActionScript. Se puede utilizar la ruta de destino para asignar una acción a un clip de película u obtener o definir el valor de una variable o propiedad.
Para más información sobre la asignación de un nombre de instancia y el uso de la sintaxis con punto para referirse a una instancia, consulte los siguientes temas:
“Utilización de la sintaxis con punto para referirse a una instancia” en la página 81.
“Ámbito y referencias” en la página 86
“Utilización del botón Ruta de destino” en la página 87
“Sintaxis con barras” en la página 87
Para más información sobre objetos y propiedades, consulte “Tipo de datos Object (objeto)”
en la página 335.
80 Principios básicos de la sintaxis y el lenguaje

Utilización de la sintaxis con punto para referirse a una instancia

Para escribir código ActionScript que controle una instancia, como, por ejemplo, un clip de película, o que manipule activos en un archivo SWF cargado, deberá especificar su nombre y dirección en el código. Esto se conoce como ruta de destino. Para hacer referencia a objetos en un archivo SWF, se utiliza la sintaxis con punto (también conocida como notación con puntos). Por ejemplo, es necesario hacer referencia a una instancia de un clip de película o un botón antes de aplicarle una acción. La sintaxis con punto le ayuda a crear una ruta de acceso a la instancia a la que debe referirse. La ruta de acceso a la instancia a la que debe referirse a veces se denomina ruta de destino.
Un archivo FLA tiene una jerarquía concreta. Puede crear instancias en el escenario o utilizar código ActionScript. Puede incluso crear instancias que estén dentro de otras instancias. O puede que tenga instancias anidadas dentro de otras instancias. Puede manipular cualquier instancia siempre y cuando le asigne un nombre.
Para asignar nombre a las instancias, deberá utilizar un nombre de instancia, que puede especificar de dos formas diferentes (descritas a continuación):
Manualmente, seleccionando una instancia y escribiendo un nombre de instancia en el
inspector de propiedades (cuando una instancia se encuentra en el escenario).
Dinámicamente, utilizando ActionScript. Puede crear una instancia mediante código
ActionScript y asignarle un nombre de instancia al crearla.
Para asignarle un nombre a la instancia en el inspector de propiedades, escriba el nombre en el cuadro de texto Nombre de instancia.
También puede asignar un nombre de instancia a un objeto que cree mediante código ActionScript. Esta operación puede resultar tan sencilla como el siguiente código:
this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth()); pic_mc.loadMovie("http://www.helpexamples.com/flash/images/image1.jpg");
Este código crea un nuevo clip de película, al que asigna el nombre de instancia pic_mc. Seguidamente, puede manipular la instancia una imagen en ella, como se muestra en el código anterior.
Para más información sobre la utilización de ámbitos, consulte “Ámbito y referencias” en
la página 86 y “Variables y ámbito” en la página 354.
pic_mc utilizando código, por ejemplo, cargando
Sintaxis con puntos y rutas de destino 81
Referencia a una instancia
Si desea que algo funcione en el archivo SWF, deberá hacer referencia a la instancia en cuestión y luego indicarle que haga algo, como asignarle una acción o cambiar su propiedades. Normalmente deberá definir el lugar en el que se encuentra dicha instancia en el archivo SWF (por ejemplo, en qué línea de tiempo se encuentra o en qué instancia está anidada) mediante la creación de la ruta de destino. Recuerde que ha asignado nombres de instancia a muchas de las instancias del archivo FLA y que luego ha añadido código al archivo FLA que utiliza dichos nombres de instancias. Al hacer esto, está haciendo referencia a dicha instancia en particular e indicándole que haga algo (por ejemplo, mover la cabeza lectora o abrir una página Web). Para más información sobre objetos y propiedades, consulte “Tipo de datos Object (objeto)”
en la página 335.
Para hacer referencia a una instancia:
1. Seleccione Archivo > Nuevo y seleccione Documento de Flash.
2. Seleccione Archivo > Guardar como y asigne al archivo el nombre target.fla.
3. Dibuje una figura en el escenario con la herramienta Óvalo. Dibuje un óvalo de cualquier
tamaño y color.
4. Con la herramienta Selección, seleccione el óvalo en el escenario.
SUGERENCIA
Recuerde que debe seleccionar el trazo y el relleno si es preciso.
5. Seleccione Modificar > Convertir en símbolo, elija la opción Clip de Película y luego haga
clic en Aceptar para crear el símbolo.
6. Seleccione el clip de película en el escenario y asígnele el nombre de instancia myClip en el
inspector de propiedades.
7. Inserte una capa nueva y asígnele el nombre actions.
8. Añada el siguiente código ActionScript al fotograma 1 de la capa actions:
myClip._xscale = 50;
Esta línea de código hace referencia a la instancia myClip del escenario. El código ActionScript redimensiona la instancia con la mitad de su anchura original. Dado que el código ActionScript está en la misma línea de tiempo que el símbolo del clip de película, sólo tendrá que hacer referencia a la instancia utilizando el nombre de instancia. Si la instancia estuviera en una línea de tiempo diferente o anidada dentro de otra instancia, tendría que adaptar la correspondiente ruta de destino.
82 Principios básicos de la sintaxis y el lenguaje
Referencia a una instancia anidada
También puede referirse a instancias que estén anidadas dentro de otras instancias. Quizá desee colocar una segunda instancia de clip de película dentro de la instancia myClip del ejercicio realizado en “Referencia a una instancia” en la página 82. También puede referirse a dicha instancia anidada utilizando ActionScript. Antes de continuar con el siguiente ejercicio, deberá finalizar el ejercicio “Referencia a una instancia” en la página 82 y, seguida mente , realizar los pasos para hacer referencia a una instancia anidada.
Para referirse a una instancia anidada:
1. Abra el archivo target.fla creado en el procedimiento de hacer referencia a una instancia y
cámbiele el nombre a target2.fla.
2. Haga doble clic en la instancia myClip del escenario.
3. Seleccione la herramienta Óvalo y dibuje otro óvalo dentro de la instancia myClip.
4. Seleccione la nueva figura y, a continuación, elija Modificar > Convertir en símbolo.
5. Seleccione la opción MovieClip y haga clic en Aceptar.
6. Seleccione la nueva instancia y escriba myOtherClip en el cuadro de texto Nombre de
instancia del inspector de propiedades.
7. Haga clic en la escena 1 de la barra de edición para regresar a la línea de tiempo principal.
8. Añada el siguiente código ActionScript al fotograma 1 de la capa actions:
myClip.myOtherClip._xscale = 50;
Este código ActionScript asigna a la instancia myOtherClip el 50% de su anchura original. Dado que el archivo target.fla modificó la propiedad myClip y que myOtherClip es un símbolo anidado, observará que myOtherClip presenta una anchura equivalente al 25 por ciento de su anchura original.
Si utiliza clips de película anidados que tengan sus propias líneas de tiempo, podrá manipular la cabeza lectora de la línea de tiempo de una instancia anidada empleando un código similar al del siguiente fragmento:
myClip.nestedClip.gotoAndPlay(15); myClip.someOtherClip.gotoAndStop("tweenIn");
Observe que el clip que usted manipula (como, por ejemplo, nestedClip) aparece justo antes de la acción. Observará esta tendencia en posteriores secciones.
_xscale de las instancias de
Sintaxis con puntos y rutas de destino 83
No sólo puede acceder a métodos y propiedades predefinidas de instancias del escenario, como se muestra en los ejemplos anteriores. También puede establecer una variable dentro de un clip de película, como se aprecia en el siguiente código, que establece una variable en el clip de película starClip:
starClip.speed = 1.1; starClip.gravity = 0.8;
Si las variables de velocidad o gravedad existieran con anterioridad en la instancia del clip de película starClip, los valores anteriores se habrían sobrescrito de inmediato al establecer las nuevas variables. Puede añadir nuevas propiedades al clip de película starClip, ya que la clase MovieClip se definió con la palabra clave
dynamic. La palabra clave dynamic especifica que los
objetos basados en la clase especificada (en este caso MovieClip) pueden añadir propiedades dinámicas y acceder a ellas en tiempo de ejecución. Para más información sobre la sentencia dinámica, consulte dynamic statement en Referencia del lenguaje ActionScript 2.0.
Referencia a instancias dinámicas y contenido cargado
También puede crear un objeto empleando código ActionScript y hacer referencia a él posteriormente mediante una ruta de destino. Por ejemplo, puede utilizar el siguiente código ActionScript para crear un clip de película. Luego puede cambiar el giro de dicho clip de película empleando código ActionScript, como se muestra en el siguiente ejemplo:
Para hacer referencia a una instancia de clip de película creada dinámicamente:
1. Cree un nuevo documento Flash y guarde el archivo como targetClip.fla.
2. Inserte una capa nueva y asígnele el nombre actions.
3. Añada el siguiente código ActionScript al fotograma 1 de la capa actions:
this.createEmptyMovieClip("rotateClip", this.getNextHighestDepth()); trace(rotateClip); rotateClip._rotation = 50;
4.
Seleccione Control > Probar película para probar el documento. La presencia de la sentencia trace indica que ha creado un clip de película, pero no puede
ver nada en el escenario. Aunque haya añadido código que cree una instancia de clip de película, no verá nada en el escenario a no ser que añada algo al clip de película. Por ejemplo, puede cargar una imagen en el clip de película.
5. Regrese al entorno de edición y abra el panel Acciones.
84 Principios básicos de la sintaxis y el lenguaje
6. Escriba el siguiente código ActionScript detrás del código añadido en el paso 3:
rotateClip.loadMovie("http://www.helpexamples.com/flash/images/
image1.jpg");
Este código carga una imagen en el clip de película rotateClip que ha creado mediante código. Se hace referencia a la instancia rotateClip mediante código ActionScript.
7. Seleccione Control > Probar película para probar el documento.
Ahora debería de ver una imagen en el escenario que gira 50º en el sentido de las agujas del reloj.
También puede hacer referencia o identificar partes de un archivo SWF que se cargan en un archivo SWF base.
Para identificar un archivo SWF cargado:
Utilice _levelX, donde X es el número de nivel especificado en la función loadMovie()
que ha cargado el archivo SWF. Por ejemplo, un archivo SWF que se ha cargado en el nivel 99 tiene la ruta de destino
_level99. En el ejemplo siguiente, se carga un archivo SWF en el nivel 99 y su visibilidad
se establece en
//Cargue SWF en el nivel 99. loadMovieNum("contents.swf", 99); //Establezca la visibilidad del nivel 99 como false. loaderClip.onEnterFrame = function(){
_level99._visible = false;
};
SUGERENCIA
Normalmente resulta aconsejable evitar el uso de niveles si en su lugar puede cargar contenido en clips de película de diferentes profundidades. El método
MovieClip.getNextHighestDepth() le permite crear nuevas instancias de clip de
película en el escenario dinámicamente sin tener que comprobar si ya hay una instancia en una determinada profundidad.
false:
Definición de variables mediante una ruta
Puede definir variables para instancias anidadas dentro de otras instancias. Por ejemplo, si desea definir una variable para un formulario situado dentro de otro formulario, puede utilizar el siguiente código. La instancia submitBtn está dentro de principal:
this.formClip.submitBtn.mouseOver = true;
Puede expresar un método o propiedad para un objeto concreto (como un clip de película o un campo de texto) siguiendo este patrón. Por ejemplo, la propiedad de un objeto sería
myClip._alpha = 50;
formClip en la línea de tiempo
Sintaxis con puntos y rutas de destino 85

Ámbito y referencias

Al anidar instancias, el clip de película que anida un segundo clip de película se conoce como instancia principal de la instancia anidada. La instancia anidada se conoce como instancia secundaria. El escenario principal y la línea de tiempo principal son básicamente un clip de película en sí mismos, por lo que se puede hacer referencia a ellos como tal. Para más información sobre ámbitos, consulte “Variables y ámbito” en la página 354.
Puede hacer referencia a instancias principales y líneas de tiempo principales mediante código ActionScript. Cuando desee hacer referencia a la línea de tiempo actual, deberá utilizar la palabra clave myClip situado en la línea de tiempo principal actual, deberá utilizar
this.myClip.
Opcionalmente, puede colocar la palabra clave this y utilizar simplemente
myClip
Puede optar por añadir la palabra clave this para lograr una mayor legibilidad y coherencia. Para más información sobre prácticas de codificación recomendadas, consulte el Capítulo 19,
“Recomendaciones y convenciones de codificación para ActionScript 2.0”, en la página 775.
Si traza el clip de película para cualquiera de los anteriores fragmentos, observará
_level0.myClip en el panel Salida. No obstante, si tiene código ActionScript situado dentro
del clip de película myClip pero desea hacer referencia a la línea de tiempo principal, haga referencia al clip de película principal (que es el escenario principal). Haga doble clic en un clip de película y coloque el siguiente código ActionScript en la línea de tiempo del clip de película:
trace("me: " + this); trace("my parent: " + this._parent);
Pruebe el archivo SWF y verá el siguiente mensaje en el panel Salida:
me: _level0.myClip my parent: _level0
Esto indica que ha hecho referencia a la línea de tiempo principal. Puede utilizar parent para crear una ruta relativa a un objeto. Por ejemplo, si el clip de película dentro del clip de película de animación animalClip, la siguiente sentencia de la instancia dogClip indica a animalClip que interrumpa la animación:
this._parent.stop();
this. Por ejemplo, para hacer referencia a un clip de película denominado
dogClip está anidado
86 Principios básicos de la sintaxis y el lenguaje
Si está familiarizado con Flash y ActionScript, es posible que haya observado que hay usuarios que emplean el ámbito _ tiempo principal del documento Flash actual. Debe evitar utilizar el ámbito _
root. El ámbito _root generalmente hace referencia a la línea de
root a no ser
que resulte absolutamente necesario. Puede utilizar rutas de destino relativas en lugar de
_root.
Si utiliza
_root en el código, puede que encuentre errores al cargar el archivo SWF en otro
documento de Flash. Al cargarse el archivo SWF en otro archivo SWF diferente, puede que
_root en el archivo cargado señale al ámbito raíz del archivo SWF en el que se carga en lugar
de hacer referencia a su propia raíz como era su intención. Esto puede producir resultados impredecibles o romper completamente la funcionalidad.

Utilización del botón Ruta de destino

En ocasiones, lleva tiempo averiguar cuál la ruta de destino o qué ruta de destino necesita para un código determinado. Si hace referencia a una instancia del escenario, puede utilizar el botón Ruta de destino para determinar la ruta de dicha instancia.
Para utilizar el botón de ruta de destino:
1. Abra el panel Acciones (Ventana > Acciones) y haga clic en el botón Insertar una ruta de
destino. Los clips de película del documento actual aparecen en un cuadro de diálogo.
2. Seleccione una de las instancias de la lista del cuadro de diálogo.
3. Haga clic en Aceptar.
4. La ruta de destino de la instancia seleccionada aparece en el panel Script.

Sintaxis con barras

La sintaxis con barras se utilizó en Flash 3 y 4 para indicar la ruta de destino de un clip de película o de una variable. Esta sintaxis es compatible con ActionScript 1.0 en Flash Player 7 y versiones anteriores, pero no es compatible con ActionScript 2.0 y Flash Player 7 o Flash Player 8.
No es recomendable utilizar la sintaxis con barras, a no ser que no tenga otra opción, como al crear contenido específicamente pensado para Flash Player 4 o Flash Lite 1.1 (y versiones anteriores), donde es preciso usar la sintaxis con barras. Para más información sobre Flash Lite, consulte la página del producto Flash Lite.
Sintaxis con puntos y rutas de destino 87

Signos de lenguaje

Existen diversos signos de lenguaje en Flash. El tipo más habitual de signos son el punto y coma (
;), los dos puntos (:), los paréntesis [()] y las llaves ({}). Cada uno de estos signos
tiene un significado específico en el lenguaje de Flash y contribuye a definir tipos de datos, terminar sentencias o estructurar el código ActionScript. En las siguientes secciones se describe cómo utilizar los signos en el código.
Para más información sobre los signos de lenguaje, consulte los siguientes temas:
“Punto y coma y dos puntos” en la página 88
“Llaves” en la página 89
“Paréntesis” en la página 93
“Literales” en la página 94
“Comentarios” en la página 95
Para más información sobre el operador de punto ( (
[]), consulte “Utilización de operadores de punto y de acceso a una matriz” en la página 152.
Para más información sobre los espacios en blanco y la aplicación de formato al código, consulte “Aplicación de formato a la sintaxis de ActionScript” en la página 808.

Punto y coma y dos puntos

Las sentencias de ActionScript terminan con un carácter de punto y coma (;), como se muestra en las dos líneas de código siguientes:
var myNum:Number = 50; myClip._alpha = myNum;
Aunque omita el carácter de punto y coma, el compilador de ActionScript dará por hecho que cada línea de código representa a una sentencia independiente. No obstante, el uso del punto y coma es una práctica recomendable en la creación de scripts porque permite lograr una mejor legibilidad del código. Al hacer clic en el botón Formato automático del panel Acciones o la ventana Script, se añaden puntos y comas finales al terminar la sentencia de manera predeterminada.
NOTA
El uso del punto y coma para terminar una sentencia le permite colocar más de una sentencia en una misma línea, pero, al hacerlo, normalmente el código resulta más difícil de leer.
.) y los operadores de acceso a matrices
88 Principios básicos de la sintaxis y el lenguaje
Otro lugar en el que se utiliza el punto y coma es en los bucles for. El punto y coma permite separar parámetros, como se muestra en el siguiente ejemplo. El ejemplo reproduce indefinidamente de 0 a 9 y luego muestra cada número en el panel Salida:
var i:Number; for (i = 0; i < 10; i++) {
trace(i); // 0,1,...,9
}
Los dos puntos (:) se utilizan en el código para asignar tipos de datos a las variables. Para asignar un tipo de datos específico a un elemento, especifique el tipo con la palabra clave
var
y la sintaxis de signo de dos puntos posterior, como se muestra en el siguiente ejemplo:
// "strict typing" de variable u objeto var myNum:Number = 7; var myDate:Date = new Date(); // "strict typing" de los parámetros function welcome(firstName:String, myAge:Number) { } // "strict typing" de los parámetros y del valor devuelto function square(num:Number):Number {
var squared:Number = num * num; return squared;
}
Puede declarar el tipo de datos de objetos basándose en clases incorporadas (Button, Date, MovieClip, etc.) y en las clases e interfaces que haya creado. En el siguiente fragmento, se crea un nuevo objeto del tipo personalizado Student:
var firstStudent:Student = new Student();
También puede especificar que los objetos sean del tipo de datos Function o Void. Para más información sobre la asignación de tipos de datos, consulte el Capítulo 10, “Datos y tipos de
datos”, en la página 327.

Llaves

Las llaves ({}) permiten agrupar eventos, definiciones de clases y funciones de ActionScript en bloques. La llave inicial se coloca en la misma línea que la declaración.
NOTA
También puede colocar la llave inicial en la línea que sigue a la declaración. Las convenciones de codificación recomiendan colocar la llave inicial en la misma línea para lograr mayor coherencia. Para más información sobre llaves y convenciones del código, consulte el Capítulo 19, “Recomendaciones y convenciones de codificación para
ActionScript 2.0”, en la página 775.
Signos de lenguaje 89
Coloque llaves alrededor de las sentencias cuando formen parte de una estructura de control (como, por ejemplo,
if..else o for), aunque contengan una sola sentencia. Esta práctica
recomendada le ayuda a evitar errores en el código ActionScript cuando se olvida de añadir llaves al código. En el siguiente ejemplo se muestra código escrito con un formato insuficiente:
var numUsers:Number; if (numUsers == 0) trace("no users found.");
Aunque este código es válido, se considera que su formato es insuficiente porque las sentencias no aparecen entre llaves.
SUGERENCIA
Si hace clic en el botón Revisar sintaxis, se añadirán llaves a esta sentencia.
En este caso, si añade una segunda sentencia después de la sentencia trace, la segunda sentencia se ejecutará independientemente de que la variable
numUsers sea igual a 0, lo que
puede provocar resultados inesperados. Por este motivo, añada llaves al código como se muestra en el siguiente ejemplo:
var numUsers:Number; if (numUsers == 0) { trace("no users found"); }
En el siguiente ejemplo, se crea un objeto de detector de eventos y una instancia de MovieClipLoader.
var imgUrl:String = "http://www.helpexamples.com/flash/images/image1.jpg"; this.createEmptyMovieClip("img_mc", 100); var mclListener:Object = new Object(); mclListener.onLoadStart = function() {
trace("starting"); }; mclListener.onLoadInit = function(target_mc:MovieClip):Void {
trace("success"); }; mclListener.onLoadError = function(target_mc:MovieClip):Void {
trace("failure"); }; var myClipl:MovieClipLoader = new MovieClipLoader(); myClipl.addListener(mclListener); myClipl.loadClip(imgUrl, img_mc);
En el siguiente ejemplo se muestra un archivo de clase sencillo que podría utilizarse para crear un objeto Student. Encontrará más información sobre archivos de clases en el Capítulo 6,
“Clases”, en la página 195.
90 Principios básicos de la sintaxis y el lenguaje
Para utilizar llaves en un archivo de ActionScript:
1. Seleccione Archivo > Nuevo y, a continuación, Archivo ActionScript.
2. Seleccione Archivo > Guardar como y guarde el nuevo documento con el nombre
Student.as.
3. Añada el siguiente código ActionScript al archivo AS.
// Student.as class Student {
private var _id:String; private var _firstName:String; private var _middleName:String; private var _lastName:String;
public function Student(id:String, firstName:String, middleName:String, lastName:String) {
this._id = id; this._firstName = firstName; this._middleName = middleName;
this._lastName = lastName; } public function get firstName():String {
return this._firstName; } public function set firstName(value:String):Void {
this._firstName = value; } // ...
}
4.
Guarde el archivo de clase.
5. Seleccione Archivo > Nuevo y haga clic en Documento de Flash para crear un nuevo
archivo FLA.
6. Guarde el nuevo archivo FLA como student_test.fla.
7. Escriba el siguiente código ActionScript en el fotograma 1 de la línea de tiempo principal:
// student_test.fla import Student; var firstStudent:Student = new Student("cst94121", "John", "H.", "Doe"); trace(firstStudent.firstName); // John firstStudent.firstName = "Craig"; trace(firstStudent.firstName); // Craig
8.
Seleccione Archivo > Guardar para guardar los cambios en student_test.fla.
9. Seleccione Control > Probar película para probar los archivos FLA y AS.
En el siguiente ejemplo se muestra cómo se utilizan las llaves al trabajar con funciones.
Signos de lenguaje 91
Para utilizar llaves con funciones:
1. Seleccione Archivo > Nuevo y seleccione Documento de Flash para crear un nuevo archivo
FLA.
2. Seleccione Archivo > Guardar como y asigne al nuevo archivo el nombre checkform.fla.
3. Arrastre una instancia del componente Label del panel Componentes al escenario.
4. Abra el inspector de propiedades (Ventana > Propiedades > Propiedades) y, con la instancia
del componente Label seleccionada, escriba el nombre de instancia status_lbl en el cuadro de texto Nombre de instancia.
5. Escriba 200 en el cuadro de texto An (anchura) para cambiar el tamaño del componente
de forma que tenga una anchura de 200 píxeles.
6. Arrastre una instancia del componente TextInput al escenario y asígnele el nombre de
instancia firstName_ti.
7. Arrastre una instancia del componente Button al escenario y asígnele el nombre de
instancia submit_button.
8. Seleccione el fotograma 1 de la línea de tiempo y añada el siguiente código ActionScript al
panel Acciones:
function checkForm():Boolean {
status_lbl.text = ""; if (firstName_ti.text.length == 0) {
status_lbl.text = "Please enter a first name.";
return false; } return true;
} function clickListener(evt_obj:Object):Void {
var success:Boolean = checkForm();
}; submit_button.addEventListener("click", clickListener);
9.
Seleccione Archivo > Guardar para guardar el documento de Flash.
10. Seleccione Control > Probar película para comprobar el código en el entorno de edición.
En el archivo SWF, aparece un mensaje de error si hace clic en la instancia de Button del escenario y no hay texto en el componente TextInput
firstName_ti. Este error aparece
en el componente Label e informa a los usuarios de que deben introducir un nombre.
92 Principios básicos de la sintaxis y el lenguaje
El ejemplo siguiente en el que se utilizan llaves muestra cómo crear y definir propiedades dentro de un objeto. En este ejemplo, las propiedades se definen en el objeto especificando los nombres de las variables entre las llaves (
var myObject:Object = {id:"cst94121", firstName:"John", middleName:"H.",
lastName:"Doe"}; var i:String; for (i in myObject) {
trace(i + ": " + myObject[i]); } /*
id: cst94121
firstName: John
middleName: H.
lastName: Doe */
{}):
También puede utilizar llaves vacías como métodos abreviados de sintaxis para la función new
Object() var myObject:Object = {};
SUGERENCIA
. Por ejemplo, el código siguiente crea una instancia Object vacía:
Recuerde que debe asegurarse de que cada llave inicial cuente con su correspondiente llave final.

Paréntesis

Al definir una función mediante ActionScript, los parámetros se colocan entre paréntesis [()], como se muestra en las siguientes líneas de código:
function myFunction(myName:String, myAge:Number, happy:Boolean):Void { // El código se escribe aquí. }
Al llamar a una función, los parámetros que se desee pasar a ésta también se incluyen entre paréntesis, como se muestra en el siguiente ejemplo:
myFunction("Carl", 78, true);
Puede utilizar paréntesis para modificar el orden de precedencia de ActionScript o para hacer más legibles las sentencias de ActionScript. Esto significa que puede cambiar el orden en que se calculan los valores escribiendo entre corchetes determinados valores, como se muestra en el siguiente ejemplo:
var computedValue:Number = (circleClip._x + 20) * 0.8;
Signos de lenguaje 93
Debido al orden de precedencia, si no ha utilizado paréntesis o utiliza dos sentencias independientes, la multiplicación se calculará en primer lugar, lo que significa que la primera operación será 20 * 0.8. El resultado, 16, se sumaría a continuación al valor actual de circleClip._x y, finalmente, se asignaría a la variable
computedValue.
Si no utiliza paréntesis, deberá añadir una sentencia para evaluar la expresión, como se muestra en el siguiente ejemplo:
var tempValue:Number = circleClip._x + 20; var computedValue:Number = tempValue * 0.8;
Al igual que en el caso de los corchetes y las llaves, debe asegurarse de que cada paréntesis inicial cuenta con su correspondiente paréntesis final.

Literales

Un literal es un valor que aparece directamente en el código. Los literales son valores constantes (que no cambian) contenidos en los documentos de Flash. Ejemplos de literales son
true, false, 0, 1, 52 o incluso la cadena “foo”.
Todos los ejemplos siguientes son literales:
17 "hello"
-3
9.4 null undefined true false
Los literales también pueden agruparse para formar literales compuestos. Los literales de matrices se escriben entre corchetes ( matriz. Un literal de matriz puede utilizarse para inicializar una matriz. En los siguientes ejemplos se muestran dos matrices que se inicializan mediante literales de matriz. Puede utilizar la sentencia
new y pasar el literal compuesto como parámetro al constructor de la clase
Array, pero no puede asignar valores literales directamente al crear instancias de clases incorporadas en ActionScript.
// se utiliza una nueva sentencia var myStrings:Array = new Array("alpha", "beta", "gamma"); var myNums:Array = new Array(1, 2, 3, 5, 8);
[]) y utilizan la coma (,) para separar los elementos de la
// asignar literal directamente var myStrings:Array = ["alpha", "beta", "gamma"]; var myNums:Array = [1, 2, 3, 5, 8];
94 Principios básicos de la sintaxis y el lenguaje
Los literales también pueden utilizarse para inicializar un objeto genérico. Un objeto genérico es una instancia de la clase Object. Los literales de objetos se escriben entre llaves ( coma (
,) para separar las propiedades del objeto. Cada propiedad se declara mediante el signo de
dos puntos ( Puede crear un objeto genérico utilizando la sentencia
:), que separa el nombre de la propiedad del valor de la propiedad.
new y pasar el literal de objeto como
{}) y utilizan la
parámetro al constructor de la clase Object, o bien asignar el literal de objeto directamente a la instancia que está declarando. En el siguiente ejemplo se crea un nuevo objeto genérico y se inicializa el objeto con tres propiedades,
2 y 3 respectivamente. // se utiliza una nueva sentencia
var myObject:Object = new Object({propA:1, propB:2, propC:3});
// asignar literal directamente var myObject:Object = {propA:1, propB:2, propC:3};
propA, propB y propC establecidas con los valores 1,
No debe confundir un literal de cadena con un objeto String. En el siguiente ejemplo, la primera línea de código crea el literal de cadena código crea el objeto String
var firstStr:String = "foo" var secondStr:String = new String("foo")
secondStr:
firstStr, mientras que la segunda línea de
Utilice literales de cadena a no ser que necesite utilizar un objeto String específicamente para lograr un mejor rendimiento. Para más información sobre cadenas, consulte “Cadenas y la
clase String” en la página 480.

Comentarios

Los comentarios son una forma de realizar anotaciones en el código con descripciones en lenguaje sencillo que el compilador no evalúa. Puede utilizar comentarios dentro del código para describir qué hace el código o qué datos se devuelven al documento. La utilización de comentarios puede ayudarle a recordar decisiones importantes de codificación y puede ser de gran ayuda para otras personas que lean el código. Los comentarios deben explicar claramente el propósito del código y no simplemente traducirlo. Si alguna parte del código no queda suficientemente clara, debería añadir comentarios.
Es muy aconsejable añadir notas a los scripts utilizando comentarios. Los comentarios documentan las decisiones que se toman con respecto al código y responden a las preguntas cómo y por qué. Hacen que el código ActionScript resulte más comprensible. Por ejemplo, podría describir una solución en los comentarios. De esta forma, usted u otro desarrollador podría localizar fácilmente partes del código para resolver errores o llevar a cabo actualizaciones. O si el problema se resuelve o se produce una mejora en una futura versión de Flash o Flash Player, podría mejorar el código ActionScript eliminando la solución implementada.
Signos de lenguaje 95
Evite utilizar comentarios saturados. Un ejemplo de comentario saturado sería el uso de una línea de signos igual (=) o asteriscos (*) para crear un bloque de separación alrededor de los comentarios. En lugar de eso, utilice un espacio en blanco para separar los comentarios del código ActionScript. Si aplica formato al código ActionScript mediante el botón Formato automático del panel Acciones o la ventana Script, se elimina el espacio en blanco. No olvide volver a añadir espacio en blanco al código o utilizar líneas de comentario sencillas (
//) para
mantener el espaciado; estas líneas resultan más fáciles de eliminar después de aplicar formato al código que determinar el lugar en el que previamente se encontraba el espacio en blanco.
Antes de desplegar el proyecto, elimine los comentarios superfluos del código, como “definir las variables x e y” u otros comentarios que resulten obvios de manera inmediata para otros desarrolladores. Si observa que hay demasiados comentarios sobrantes en el código ActionScript, piense si necesita volver a escribir parte del código. Si necesita incluir muchos comentarios sobre el funcionamiento del código, ello será indicativo de que el código ActionScript no es ni elegante ni intuitivo.
Si activa la aplicación de color de sintaxis, los comentarios aparecen en gris de forma predeterminada. Los comentarios pueden tener cualquier longitud sin que ello afecte al tamaño del archivo exportado y no es necesario que sigan las reglas de las palabras clave y de la sintaxis de ActionScript.
NOTA
El uso de comentarios es especialmente importante si se va a presentar el código ActionScript a un público. Añada comentarios al código si está creando aplicaciones de ejemplo para el aprendizaje de Flash o si está escribiendo artículos o tutoriales sobre ActionScript.
Comentarios de una sola línea
Los comentarios de una sola línea permiten añadir al código un comentario que ocupe una sola línea. Puede convertir en comentario una sola línea de código o añadir una breve descripción de lo que se consigue mediante un fragmento de código determinado. Para indicar que una línea o parte de una línea es un comentario, iníciela con dos barras inclinadas (//), como se muestra en el siguiente código:
// Lo que sigue establece una variable local de edad. var myAge:Number = 26;
Los comentarios de una sola línea suelen utilizarse para explicar un pequeño fragmento de código. Puede utilizar comentarios de una sola línea para los comentarios breves que quepan en una línea. El siguiente ejemplo contiene un comentario de una sola línea:
while (condition) {
// gestionar condición con sentencias }
96 Principios básicos de la sintaxis y el lenguaje
Comentarios de varias líneas
Utilice comentarios de varias líneas, también llamados comentarios en bloque, para crear comentarios formados por más de una línea. Los desarrolladores utilizan habitualmente los comentarios de varias líneas para describir archivos, estructuras de datos y métodos. Normalmente se colocan al principio de un archivo y antes de un método o en él.
Para crear un bloque de comentario, coloque al final del bloque de comentario. Esta técnica le permite crear comentarios largos sin añadir / / al comienzo de cada línea. La utilización de // para varias líneas consecutivas puede originar problemas al modificar los comentarios.
El formato de un comentario de varias líneas es el siguiente.
/*
El siguiente código ActionScript inicializa variables que se utilizan en
sistemas de menú principal y submenús. Las variables se utilizan para
realizar un seguimiento de las opciones en las que se hace clic. */
SUGERENCIA
Si coloca los caracteres de comentario (/* y */) en líneas separadas al principio y al final del comentario, puede anularlos fácilmente colocando dos barras diagonales (//) delante de ellos (por ejemplo, ///* y //*/). De esta manera, puede añadir comentarios al código y anularlos de forma rápida y sencilla.
Al colocar grandes trozos de script en un bloque de comentario, lo que se conoce como convertir en comentario una parte del script, podrá comprobar determinadas partes de un script. Por ejemplo, cuando se ejecute el siguiente script, no se ejecutará el código incluido en el bloque de comentario:
// El siguiente código se ejecuta. var x:Number = 15; var y:Number = 20;
/* al principio de las líneas de comentario y */
// El siguiente código se convierte en un comentario y no se ejecuta. /* // crear un objeto Date nuevo var myDate:Date = new Date(); var currentMonth:Number = myDate.getMonth(); // convertir número de mes en nombre de mes var monthName:String = calcMonth(currentMonth); var year:Number = myDate.getFullYear(); var currentDate:Number = myDate.getDate(); */
// El código siguiente se ejecuta. var namePrefix:String = "My name is"; var age:Number = 20;
Signos de lenguaje 97
SUGERENCIA
Es recomendable colocar una línea en blanco delante de un comentario en bloque.
Comentarios finales
Los comentarios finales permiten añadir un comentario en la misma línea que el código. Estos comentarios aparecen en la misma línea que el código ActionScript. Los desarrolladores utilizan habitualmente los comentarios finales para indicar cuál es el contenido de una variable o para describir o llamar la atención sobre el valor devuelto por una línea de código ActionScript. Aplique formato a los comentarios finales de la siguiente forma:
var myAge:Number = 26; // variable de mi edad trace(myAge); // 26
Inserte los comentarios a la derecha y con espacios para que los lectores puedan distinguirlos del código. Si es posible, intente alinear los comentarios, tal y como se muestra en el código siguiente.
var myAge:Number = 28; // mi edad var myCountry:String = "Canada"; // mi país var myCoffee:String = "Hortons"; // mi café preferido
Si utiliza el formato automático (haga clic en el botón Formato automático del panel Acciones), los comentarios finales se desplazarán a la siguiente línea. Añada estos comentarios después de aplicar formato al código pues, de lo contrario, deberá modificar su ubicación tras utilizar el botón Formato automático.
Comentarios dentro de clases
Los comentarios dentro de las clases e interfaces permiten documentarlas con el fin de que los desarrolladores comprendan el contenido de una clase. Puede empezar todos los archivos de clase con un comentario que indique el nombre de clase, el número de versión, la fecha y el copyright. Por ejemplo, podría crear para la clase una documentación similar al siguiente comentario:
/** Pelican class version 1.2 10/10/2005 copyright Macromedia, Inc. */
98 Principios básicos de la sintaxis y el lenguaje
Utilice los comentarios en bloque para describir archivos, estructuras de datos y métodos. Normalmente se colocan al principio de un archivo y antes de un método o en él.
En un archivo de clase o interfaz típico hay dos tipos de comentarios: comentarios de documentación y comentarios de implementación. Los comentarios de documentación se utilizan para describir las especificaciones del código y no describen la implementación. Los comentarios de documentación se utilizan para describir interfaces, clases, métodos y constructores. Los comentarios de implementación se utilizan para marcar el código o para comentar la implementación de determinadas secciones del código.
Incluya un solo comentario de documentación por cada clase, interfaz o miembro y colóquelo inmediatamente antes de la declaración. Si debe proporcionar más información de la que cabe en los comentarios de documentación, utilice los comentarios de implementación (con el formato de comentarios en bloque o comentarios de una sola línea). Los comentarios de implementación deben ir inmediatamente después de la declaración.
Los dos tipos de comentarios utilizan delimitadores ligeramente distintos. Los comentarios de documentación se delimitan con con
/* y */.
SUGERENCIA
No incluya comentarios que no estén directamente relacionados con la clase que se está leyendo. Por ejemplo, no incluya comentarios que describan el paquete correspondiente.
/** y */, y los comentarios de implementación se delimitan
También puede incluir comentarios de una sola línea, comentarios en bloque y comentarios finales en los archivos de clases. Hallará más información acerca de estos tipos de comentarios en las secciones siguientes:
“Comentarios de una sola línea” en la página 96
“Comentarios de varias líneas” en la página 97
“Comentarios finales” en la página 98
Signos de lenguaje 99

Constantes y palabras clave

Las constantes y las palabras clave constituyen la base de la sintaxis de ActionScript. Las constantes son propiedades con un valor fijo que no puede alterarse, por lo que son valores que no cambian en ninguna parte de una aplicación.
Flash incluye diversas constantes predefinidas que contribuyen a simplificar el desarrollo de aplicaciones. Un ejemplo de constantes lo podemos encontrar en la clase Key, que incluye numerosas propiedades, como tendrá que recordar nunca que los valores de código de las teclas Intro y AvPág son 13 y 34. La utilización de valores constantes no hace que el desarrollo o la depuración resulten más sencillos, pero sí permite a otros desarrolladores leer el código con mayor facilidad.
Las palabras clave de ActionScript se utilizan para realizar tipos de acciones específicos. También son palabras reservadas por este motivo, de modo que no se pueden utilizar como identificadores (por ejemplo, nombres de variables, de funciones o de etiquetas). Ejemplos de palabras reservadas son:
Para más información sobre constantes y palabras clave, consulte los siguientes temas:
“Utilización de constantes” en la página 100
“Palabras clave” en la página 103
“Palabras reservadas” en la página 104
Para más información sobre objetos y propiedades, consulte “Tipo de datos Object (objeto)”
en la página 335. Para obtener una lista de constantes del lenguaje (por ejemplo,
NaN), consulte la categoría Constantes >de Elementos del lenguaje ActionScript en Referencia
del lenguaje ActionScript 2.0.
Key.ENTER o Key.PGDN. Si basa su trabajo en constantes, no
if, else, this, function y return.
false y

Utilización de constantes

Las constantes son propiedades con un valor fijo que no puede alterarse; dicho de otro modo, son valores que no cambian en ninguna parte de una aplicación. El lenguaje ActionScript contiene numerosas constantes predefinidas. Por ejemplo, las constantes
SPACE y TAB son propiedades de la clase Key y se refieren a las teclas del teclado. La constante Key.TAB siempre tiene el mismo significado: indica la tecla Tabulador de un teclado. Las
constantes resultan útiles para comparar valores y utilizar en la aplicación valores que no cambian.
100 Principios básicos de la sintaxis y el lenguaje
BACKSPACE, ENTER,
Loading...