Está en la página 1de 760

REFERENCIA DEL LENGUAJE ACTIONSCRIPT DE FLASH LITE 2.

X
™ ® ™

© 2007 Adobe Systems Incorporated. Todos los derechos reservados. Referencia del lenguaje ActionScript™ de Adobe® Flash® Lite™ 2.x Si este manual se distribuye con un software que contenga un contrato para usuarios finales, el manual, así como el software que en él se describe, se suministran bajo licencia y pueden utilizarse y copiarse según lo dispuesto en los términos de dicha licencia. Salvo en los casos permitidos por dicha licencia, queda prohibida la reproducción de cualquier parte de este manual, su almacenamiento en un sistema de recuperación, su transmisión (de cualquier forma o modo) electrónica, mecánica o mediante grabación, sin el consentimiento previo por escrito de Adobe Systems Incorporated. Tenga en cuenta que el contenido de este manual está protegido por las leyes de copyright, incluso si no se distribuye con el software que incluye el contrato de licencia para usuarios finales. En contenido de este manual se suministra exclusivamente con fines informativos, está sujeto a cambios sin previo aviso y no debe entenderse como ningún compromiso por parte de Adobe Systems. Adobe Systems Incorporated declina toda responsabilidad por los posibles errores o imprecisiones que puedan aparecer en el contenido informativo de este manual. Recuerde que las ilustraciones o las imágenes que tal vez quiera incluir en su proyecto pueden estar protegidas por las leyes de copyright. La incorporación no autorizada de este material en nuevos trabajos podría suponer una violación de los derechos del propietario del copyright. Asegúrese de haber obtenido los permisos necesarios del propietario del copyright. Cualquier referencia a nombres de empresas en las plantillas de muestras se incluyen únicamente con fines de demostración y no pretenden hacer mención directa a ninguna empresa real. Adobe, el logotipo de Adobe, Flash Lite y Flash are son marcas comerciales o marcas registradas de Adobe Systems Incorporated en los Estados Unidos y en otros países. Información de terceros Esta guía contiene vínculos a sitios Web de terceros que no están bajo el control de Adobe Systems Incorporated y, por consiguiente, Adobe Systems Incorporated 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. Adobe Systems Incorporated proporciona estos vínculos únicamente como ayuda y su inclusión no implica que Adobe Systems Incorporated se haga responsable del contenido de dichos sitios Web. La tecnología de compresión y descompresión de vídeo Sorenson™ Spark™ tiene licencia de Sorenson Media, Inc. Fraunhofer-IIS/Thomson Multimedia: tecnología de compresión de audio MPEG Layer-3 con licencia de Fraunhofer IIS y Thomson Multimedia (http://www.iis.fhg.de/amm/). Independent JPEG Group: este software está basado en parte del trabajo del Independent JPEG Group. Nellymoser, Inc.: tecnología de compresión y descompresión de voz con licencia de Nellymoser, Inc. (http:www.nelly-moser.com). Navegador Opera ® Copyright © 1995-2002 Opera Software ASA y sus proveedores. Todos los derechos reservados. Macromedia Flash 8 utiliza tecnología de vídeo de On2 TrueMotion. © 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 los Estados Unidos y en otros países. Información actualizada e información adicional de códigos de otros fabricantes disponible en http://www.adobe.com/go/thirdparty_es/. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, EE.UU. Aviso para los usuarios finales del gobierno de EE.UU. Este Software y su Documentación son “Artículos comerciales”, según se define este término en 48 C.F.R. §2.101, y consta de “Software comercial informático” y “Documentación de software comercial informático”, según se definen estos términos en 48 C.F.R. §12.212 o 48 C.F.R. §227.7202. En coherencia con lo descrito en 48 C.F.R. §12.212 o 48 C.F.R. de §227.7202-1 a 227.7202-4, según sea aplicable, el Software comercial informático y la Documentación de software comercial informático se otorgan bajo licencia a los usuarios finales del gobierno de EE.UU. (a) únicamente como artículos comerciales y (b) únicamente con los derechos garantizados al resto de usuarios finales de acuerdo con lo estipulado en sus términos y condiciones. Los derechos no publicados quedan reservados al amparo de las leyes de copyright de los Estados Unidos. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, EE.UU. Para los usuarios finales del gobierno de EE.UU., Adobe acuerda cumplir todas las leyes de igualdad de oportunidades aplicables, incluyendo (si procede) lo estipulado en la Executive Order 11246, corregida, en la sección 402 de la Vietnam Era Veterans Readjustment Assistance Act de 1974 (38 USC 4212) y en la sección 503 de la Rehabilitation Act de 1973, corregida, así como las normativas de 41 CFR partes 60-1 a 60-60, 60-250 y 60-741. La cláusula de acción afirmativa y las normativas incluidas en la frase anterior se pueden incluir como referencia.

Contenido

Capítulo 1: Elementos del lenguaje ActionScript. . . . . . . . . . . . . . . 5 Directivas del compilador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Constantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Funciones globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Propiedades globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160 Comandos fscommand2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Capítulo 2: Clases de ActionScript . . . . . . . . . . . . . . . . . . . . . . . 227 arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251 Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 capabilities (System.capabilities) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 ExtendedKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351 LoadVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 MovieClip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413 MovieClipLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .501 Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 security (System.security) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 SharedObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Stage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .601

3

System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 TextField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 TextFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .668 Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .684 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .689 XMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 XMLSocket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .729 Capítulo 3: Código ActionScript desfasado . . . . . . . . . . . . . . . 739 Resumen de funciones desfasadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . .739 Resumen de propiedades desfasadas . . . . . . . . . . . . . . . . . . . . . . . . . . 741 Resumen de operadores desfasados . . . . . . . . . . . . . . . . . . . . . . . . . . . 743 Capítulo 4: ActionScript no admitido . . . . . . . . . . . . . . . . . . . . . 745 Clases no admitidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .745 Métodos no admitidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .745 Propiedades no admitidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .745 Funciones globales no admitidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 Controladores de eventos no admitidos. . . . . . . . . . . . . . . . . . . . . . . . .746 Funciones fscommand no admitidas . . . . . . . . . . . . . . . . . . . . . . . . . . .746 Índice alfabético. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .747

4

Contenido

CAPÍTULO 1

Elementos del lenguaje ActionScript
En esta sección se proporciona la sintaxis, información de uso y ejemplos de código de funciones globales y propiedades (los elementos que no pertenecen a ninguna clase de ActionScript); directivas del compilador y constantes, operadores, sentencias y palabras clave utilizadas en ActionScript y definidas en el borrador de la especificación del lenguaje ECMAScript (ECMA-262) edición 4.

1

Directivas del compilador
Esta sección contiene las directivas que deben incluirse en el archivo de ActionScript para dirigir al compilador en el preprocesamiento de determinadas instrucciones. Resumen de directivas del compilador
Directiva
#endinitclip

Descripción
Directiva del compilador; indica el final de un bloque de acciones de inicialización. Directiva del compilador: incluye el contenido del archivo especificado, como si los comandos del archivo formaran parte del script que realiza la llamada. Directiva del compilador; indica el comienzo de un bloque de acciones de inicialización.

#include

#initclip

Directiva #endinitclip
#endinitclip

Directiva del compilador; indica el final de un bloque de acciones de inicialización. Ejemplo
#initclip ...las acciones de inicialización se insertan aquí... #endinitclip

5

Directiva #include
#include "[path]filename.as"

- No inserte un punto y coma (;) al final de la línea que

contiene la sentencia #include. Directiva del compilador: incluye el contenido del archivo especificado, como si los comandos del archivo formaran parte del script que realiza la llamada. La directiva #include se invoca durante la compilación. Por lo tanto, si realiza modificaciones en un archivo externo deberá guardarlo y volver a compilar todos los archivos FLA que lo utilizan. Si utiliza el botón Revisar sintaxis en un script que contiene sentencias #include, también se revisará la sintaxis de los archivos incluidos. Puede utilizar #include en archivos FLA y en archivos de script externos, pero no en archivos de clase de ActionScript 2.0. Puede elegir entre no especificar ninguna ruta, especificar una ruta relativa o especificar una ruta absoluta del archivo que debe incluirse. Si no especifica ninguna ruta, el archivo AS debe encontrarse en una de las siguientes ubicaciones:

El mismo directorio que el archivo FLA. El mismo directorio que el script que contiene la sentencia #include El directorio Include global, cuya ruta puede ser: --Windows 2000 o Windows XP: C:\Documents and Settings\usuario \Local Settings\ Datos de programa\Macromedia\ Flash 8\idioma\Configuration\Include --Macintosh OS X: Disco duro/Users/Library/ Application Support/Macromedia/Flash 8/idioma/Configuration/Include El directorio Programa Flash 8\idioma\First Run\Include; si se guarda aquí un archivo, se copiará al directorio Include global la próxima vez que se inicie Flash.

Para especificar una ruta relativa del archivo AS, utilice un punto (.) para indicar el directorio actual, dos puntos ..) para indicar un directorio principal y barras diagonales (/) para indicar subdirectorios. Lea la siguiente sección de ejemplo. Para especificar una ruta absoluta del archivo AS, utilice el formato compatible con su plataforma (Macintosh o Windows). Lea la siguiente sección de ejemplo. (No se recomienda este uso porque requiere tener la misma estructura de directorios en cualquier equipo que se utilice para compilar el script.) Si coloca archivos en el directorio First Run/Include o en el directorio Include global, realice una copia de seguridad de dichos archivos. Si alguna vez necesita desinstalar Flash y volver a instalarlo, es posible que se eliminen y sobrescriban estos directorios.

6

Elementos del lenguaje ActionScript

Parámetros
[path]filename.as

- filename.asEl nombre de archivo y la ruta opcional del script que se añadirán al panel Acciones o al script actual; .as es la extensión de nombre de archivo recomendada. Ejemplo Los ejemplos siguientes muestran varias formas de especificar una ruta para un archivo que se va a incluir en el script:

// Tenga en cuenta que las sentencias #include no finalizan con un punto y coma (;) // El archivo AS se ubica en el mismo directorio que el archivo FLA o el script // o bien se encuentra en el directorio Include global o en el directorio First Run/Include #include "init_script.as" // El archivo AS se encuentra en un subdirectorio de uno de los directorios anteriores // El subdirectorio se llama "FLA_includes" #include "FLA_includes/init_script.as" // El archivo AS se encuentra en un subdirectorio del directorio de archivos de script // El subdirectorio se llama "SCRIPT_includes" #include "SCRIPT_includes/init_script.as" // El archivo AS se encuentra en un directorio al mismo nivel que uno de los directorios anteriores // El archivo AS se encuentra en un directorio al mismo nivel que el directorio // que contiene el archivo de script // El subdirectorio se llama "ALL_includes" #include "../ALL_includes/init_script.as" // El archivo AS se especifica mediante una ruta absoluta en Windows // Tenga en cuenta el uso de las barras diagonales, no el de las barras invertidas #include "C:/Flash_scripts/init_script.as" // El archivo AS se especifica mediante una ruta absoluta en Macintosh #include "Mac HD:Flash_scripts:init_script.as"

Directivas del compilador

7

Directiva #initclip
#initclip order - No inserte un punto y coma (;) al final de la línea que contiene la sentencia #initclip.

Directiva del compilador; indica el comienzo de un bloque de acciones de inicialización. Cuando se inicializan varios clips simultáneamente, se puede utilizar el parámetro order para especificar la inicialización que se ejecuta en primer lugar. Las acciones de inicialización se ejecutan cuando se define un símbolo de clip de película. Si el clip de película es un símbolo exportado, las acciones de inicialización se ejecutan antes que la acciones en el fotograma 1 del archivo SWF. De lo contrario, se ejecutan inmediatamente antes que las acciones del fotograma que contiene la primera instancia del símbolo de clip de película asociado. Las acciones de inicialización se ejecutan sólo una vez cuando se reproduce un archivo SWF; utilícelas para inicializaciones que se realizan una vez, como la definición de clases y el registro. Parámetros
order

- Un entero no negativo que especifica el orden de ejecución de bloques de código

#initclip. Este parámetro es opcional. Debe especificar el valor utilizando un literal entero (sólo

se permiten valores decimales, no hexadecimales) y sin utilizar variables. Si incluye varios bloques #initclip en un solo símbolo de clip de película, el compilador utiliza el último valor order especificado en ese símbolo de clip de película para todos los bloques #initclip del mismo. Ejemplo En el ejemplo siguiente, se inserta código ActionScript en el fotograma 1 de una instancia de clip de película. En el mismo directorio se inserta el archivo de texto variables.txt.
#initclip trace("initializing app"); var variables:LoadVars = new LoadVars(); variables.load("variables.txt"); variables.onLoad = function(success:Boolean) { trace("variables loaded:"+success); if (success) { for (i in variables) { trace("variables."+i+" = "+variables[i]); } } }; #endinitclip

8

Elementos del lenguaje ActionScript

Constantes
Una constante es una variable que se utiliza para representar una propiedad cuyo valor no cambia nunca. En esta sección se describen las constantes globales disponibles en cada script. Resumen de constantes
Modificadores Constante
false

Descripción
Valor booleano exclusivo que representa lo contrario de true. Especifica el valor IEEE-754 que representa el infinito positivo. Especifica el valor IEEE-754 que representa el infinito negativo. Variable predefinida con el valor IEEE-754 para NaN (no es un número). Inserta un carácter de retorno de carro (\r) que genera una línea en blanco en la salida de texto que genera el código. Valor especial que puede asignarse a las variables o ser devuelto por una función si no se ha proporcionado ningún dato. Valor booleano exclusivo que representa lo contrario de false. Valor especial que normalmente se utiliza para indicar que todavía no se ha asignado un valor a una variable.

Infinity

-Infinity

NaN

newline

null

true

undefined

Constantes

9

Constante false
Valor booleano exclusivo que representa lo contrario de true. Cuando la introducción automática de datos convierte false en un número, pasa a ser 0; cuando convierte false en una cadena, pasa a ser "false". Ejemplo Este ejemplo muestra cómo la introducción automática de datos convierte false en un número y en una cadena:
var bool1:Boolean = Boolean(false); // lo convierte en el número 0 trace(1 + bool1); // produce 1 // lo convierte en una cadena trace("String: " + bool1); // produce String: false

Constante Infinity
Especifica el valor IEEE-754 que representa el infinito positivo. El valor de esta constante es igual que Number.POSITIVE_INFINITY. Véase también
POSITIVE_INFINITY (propiedad Number.POSITIVE_INFINITY)

Constante -Infinity
Especifica el valor IEEE-754 que representa el infinito negativo. El valor de esta constante es igual que Number.NEGATIVE_INFINITY. Véase también
NEGATIVE_INFINITY (propiedad Number.NEGATIVE_INFINITY)

Constante NaN
Variable predefinida con el valor IEEE-754 para NaN (no es un número). Para determinar si un número es NaN, utilice isNaN(). Véase también
Función isNaN, NaN (propiedad Number.NaN)

10

Elementos del lenguaje ActionScript

Constante newline
Inserta un carácter de retorno de carro (\r) que genera una línea en blanco en la salida de texto que genera el código. Utilice newline para crear un espacio donde ubicar la información que recupera una función o sentencia del código. Ejemplo El ejemplo siguiente muestra cómo newline presenta el resultado de la sentencia trace() en varias líneas.
var myName:String = "Lisa", myAge:Number = 30; trace(myName+myAge); trace("-----"); trace(myName+newline+myAge); // salida: Lisa30 ----Lisa 30

Véase también
Función trace

Constante null
Valor especial que puede asignarse a las variables o ser devuelto por una función si no se ha proporcionado ningún dato. Puede utilizar null para representar los valores que faltan o que no tienen un tipo de datos definido. Ejemplo En un contexto numérico, null da como resultado 0. Las pruebas de igualdad se pueden realizar con null. En esta sentencia, un nodo de árbol binario no tiene elemento secundario a la izquierda, por lo que el campo para este elemento podría establecerse en null.
if (tree.left == null) { tree.left = new TreeNode(); }

Constantes

11

Constante true
Valor booleano exclusivo que representa lo contrario de false. Cuando la introducción automática de datos convierte true en un número, pasa a ser 1; cuando convierte true en una cadena, pasa a ser "true". Ejemplo El ejemplo siguiente muestra el uso de true en una sentencia if:
var shouldExecute:Boolean; // ... // el código que establece shouldExecute en true o en false se escribe aquí // shouldExecute se establece en true para este ejemplo: shouldExecute = true; if (shouldExecute == true) { trace("your statements here"); } // true también es implícito, por lo que la sentencia también se podría escribir: // if (shouldExecute) { // trace("your statements here"); // }

El ejemplo siguiente muestra cómo la introducción automática de datos convierte true en el número 1:
var myNum:Number; myNum = 1 + true; trace(myNum); // salida: 2

Véase también
Constante false, Boolean

Constante undefined
Valor especial que normalmente se utiliza para indicar que todavía no se ha asignado un valor a una variable. Una referencia a un valor undefined devuelve el valor especial undefined. El código ActionScript typeof(undefined) devuelve la cadena "undefined". El único valor de tipo undefined es undefined. En los archivos publicados para Flash Player 6 o anterior, el valor de String(undefined) es "" (una cadena vacía). En los archivos publicados para Flash Player 7 o posterior, el valor de String(undefined) es "undefined" (undefined se convierte en una cadena).

12

Elementos del lenguaje ActionScript

En los archivos publicados para Flash Player 6 o anterior, el valor de Number(undefined) es 0. En los archivos publicados para Flash Player 7 o posterior, el valor de Number(undefined) es NaN. El valor undefined es similar al valor especial null. Cuando null y undefined se comparan con el operador de igualdad (==), se comparan como iguales. Sin embargo, cuando null y undefined se comparan con el operador de igualdad estricta (===), se comparan como no iguales. Ejemplo En el ejemplo siguiente no se ha declarado la variable x y, por tanto, tiene el valor undefined. En la primera sección del código, el operador de igualdad (==) compara el valor de x con el valor undefined y envía el resultado correspondiente al panel Salida. En la primera sección del código, el operador de igualdad (==) compara el valor de x con el valor undefined y envía el resultado correspondiente al archivo de registro. En la segunda sección del código, el operador de igualdad (==) compara los valores null y undefined.
// x no se ha declarado trace("The value of x is "+x); if (x == undefined) { trace("x is undefined"); } else { trace("x is not undefined"); } trace("typeof (x) is "+typeof (x)); if (null == undefined) { trace("null and undefined are equal"); } else { trace("null and undefined are not equal"); }

El resultado siguiente se muestra en el panel Salida.
The value of x is undefined x is undefined typeof (x) is undefined null and undefined are equal

Constantes

13

Funciones globales
Esta sección contiene un conjunto de funciones incorporadas que se encuentran disponibles en cualquier parte de un archivo SWF donde se utilice ActionScript. Estas funciones globales abarcan una gran variedad de tareas de programación frecuentes como, por ejemplo, trabajar con tipos de datos (Boolean(), iint(), etc.), proporcionar información de depuración (trace()) y comunicarse con Flash Player o con el navegador (fscommand()). Resumen de funciones globales
Modificadores Firma
Array([numElements ], [elementN]) : Array Boolean(expression :Object) : Boolean call(frame:Object)

Descripción
Crea una nueva matriz vacía o convierte determinados elementos en una matriz. Convierte el parámetro expression en un valor booleano y devuelve true o false. Desfasada desde Flash Player 5. Esta acción está desfasada y en su lugar debe utilizarse la sentencia function. Ejecuta el script en el fotograma llamado sin mover la cabeza lectora a ese fotograma. Desfasada desde Flash Player 5. Esta función está desfasada y en su lugar debe utilizarse String.fromCharCode(). Convierte números de código ASCII en caracteres. Cancela un intervalo creado por una llamada a setInterval(). Crea una instancia de un clip de película durante la reproducción del archivo SWF.

chr(number:Number) : String

clearInterval(inte rvalID:Number) duplicateMovieClip (target:Object, newname:String, depth:Number) escape(expression: String) : String

Convierte el parámetro en una cadena y la codifica con un formato URL codificado donde todos los caracteres no alfanuméricos se sustituyen por secuencias hexadecimales %. Accede a las variables, propiedades, objetos o clips de película por su nombre.

eval(expression:Ob ject) : Object fscommand(command: String,

Permite que un archivo SWF se comunique con el reproductor Flash Lite o con el entorno para un parameters:String) dispositivo móvil (como un sistema operativo).

14

Elementos del lenguaje ActionScript

Modificadores

Firma
fscommand2(command :String,

Descripción

Permite que el archivo SWF se comunique con el reproductor Flash Lite o con la aplicación host de parameters:String) un dispositivo móvil.
getProperty(my_mc: Object, property:Object) : Object

Desfasada desde Flash Player 5. Esta función está desfasada y en su lugar debe utilizarse la sintaxis con puntos, introducida en Flash Player 5. Devuelve el valor de la propiedad especificada para el clip de película my_mc. desde que se inició la reproducción del archivo SWF.

getTimer() : Number Devuelve el número de milisegundos transcurridos

getURL(url:String, [window:String], [method:String]) getVersion() : String gotoAndPlay([scene :String], frame:Object) gotoAndStop([scene :String], frame:Object)

Carga un documento de una URL específica en una ventana o pasa variables a otra aplicación en una URL definida. Devuelve una cadena que contiene información de la versión de Flash Player y de la plataforma. Envía la cabeza lectora al fotograma especificado en una escena y reproduce desde dicho fotograma. Envía la cabeza lectora al fotograma especificado en una escena y la detiene.

Desfasada desde Flash Player 5. Esta función está desfasada. Adobe recomienda la utilización de la propiedad MovieClip._framesloaded. frame:Object, statement(s):Objec Comprueba si el contenido de un fotograma específico está disponible localmente. t)
ifFrameLoaded([sce ne:String], int(value:Number) : Desfasada desde Flash Player 5. Esta función Number

está desfasada y en su lugar debe utilizarse Math.round(). Convierte un número decimal en un valor de entero truncando el valor decimal. Evalúa expression y devuelve true si es un negativo.

isFinite(expressio

n:Object) : Boolean número finito o false si es infinito o infinito

isNaN(expression:O bject) : Boolean

Evalúa el parámetro y devuelve true si el valor es NaN (no es un número).

Funciones globales

15

Convierte un número de código ASCII en un carácter multibyte. script CGI. Esta función está desfasada y en su lugar debe utilizarse el método String. y establece los valores de las variables en un clip de película de destino. páginas Active Server (ASP). Carga un archivo SWF o JPEG en Flash Player durante la reproducción del archivo SWF original. páginas Active Server (ASP).charCodeAt(). level:Number. [method:String]) loadMovieNum(url:S tring. Esta función está desfasada y en su lugar debe utilizarse la propiedad String. Devuelve la longitud de la cadena o la variable especificada. Convierte el carácter especificado en un número multibyte. Devuelve la longitud de la cadena de caracteres multibyte. Esta función. como un archivo de texto o texto generado por ColdFusion. loadMovie(url:Stri ng. junto con todas las funciones string. Lee datos de un archivo externo. como un archivo de texto o texto generado por ColdFusion. target:Object. Desfasada desde Flash Player 5. variable:Object) : Number Descripción Desfasada desde Flash Player 5. script PHP o Perl.length para realizar las mismas operaciones.Modificadores Firma length(expression: String. Lee datos de un archivo externo. level:Number. [method:String]) loadVariables(url: String. Desfasada desde Flash Player 5. Esta función está desfasada y en su lugar debe utilizarse el método String. Adobe recomienda que utilice los métodos de la clase String y la propiedad String. [method:String]) mbchr(number:Numbe r) mblength(string:St ring) : Number mbord(character:St ring) : Number 16 Elementos del lenguaje ActionScript .length. Desfasada desde Flash Player 5.fromCharCode(). un script CGI. target:Object. [method:String]) loadVariablesNum(u rl:String. y establece los valores de las variables en un nivel de Flash Player. Carga un archivo SWF o JPEG en un nivel de Flash Player durante la reproducción del archivo SWF que se cargó originalmente. está desfasada. script PHP o Perl.

count:Number) : String nextFrame() nextScene() Descripción Desfasada desde Flash Player 5. Number(expression: Object) : Number Object([value:Obje ct]) : Object on(mouseEvent:Obje ct) onClipEvent(movieE vent:Object) ord(character:Stri ng) : Number parseFloat(string: String) : Number parseInt(expressio n:String. Esta función está desfasada y en su lugar deben utilizarse los métodos y propiedades de la clase String. Envía la cabeza lectora al fotograma 1 de la siguiente escena. Desfasada desde Flash Player 5.random(). index:Number. Convierte una cadena en un entero. Envía la cabeza lectora al fotograma anterior. Convierte una cadena en un número de coma flotante. Esta función está desfasada y en su lugar debe utilizarse Math. Envía la cabeza lectora al siguiente fotograma. Esta función está desfasada y en su lugar debe utilizarse el método String. Convierte el parámetro expression en un número. Convierte caracteres en números de código ASCII. Desfasada desde Flash Player 5. cadena o valor booleano especificado.substr().Modificadores Firma mbsubstring(value: String. prevFrame() prevScene() random(value:Numbe r) : Number Funciones globales 17 . [radix:Number]) : Number play() Mueve la cabeza lectora hacia delante en la línea de tiempo. Extrae una cadena de caracteres multibyte nueva de la cadena de caracteres multibyte. Crea un nuevo objeto vacío o convierte en un objeto el número. Especifica el evento de ratón o la pulsación de tecla que activa una acción. Envía la cabeza lectora al fotograma 1 de la escena anterior. Activa acciones definidas para una determinada instancia de un clip de película. Devuelve un entero aleatorio entre 0 y uno menos que el entero especificado en el parámetro value.

Esta función está desfasada y en su lugar debe utilizarse String. [lock:Boolean]. property:Object.Modificadores Firma removeMovieClip(ta rget:Object) setInterval(functi onName:Object.top. interval:Number. Detiene el archivo SWF que se está reproduciendo. count:Number) : String targetPath(targetO bject:Object) : String 18 Elementos del lenguaje ActionScript .right. Cambia un valor de propiedad de un clip de película durante la reproducción del clip de película. [param:Object]. Extrae parte de una cadena. Detiene la operación de arrastre actual.substr(). Permite arrastrar el clip de película target durante la reproducción de la película. methodName:String) : Number setProperty(target :Object. Devuelve una cadena que contiene la ruta de destino de movieClipObject. index:Number. Devuelve una representación de cadena del parámetro especificado. expression:Object) startDrag(target:O bject.bo ttom:Number]) stop() Descripción Elimina el clip de película especificado. stopAllSounds() stopDrag() String(expression: Object) : String substring(string:S tring. un método o un objeto en intervalos periódicos durante la reproducción de un archivo SWF. Desfasada desde Flash Player 5. Llama a una función. Detiene todos los sonidos que se están reproduciendo en un archivo SWF sin detener la cabeza lectora. [left. objectName:Object.

element1. toggleHighQuality() Desfasada desde Flash Player 5. o una matriz con una lista de elementos especificados. descodifica la cadena con formato URL codificado (convirtiendo todas las secuencias hexadecimales en caracteres ASCII) y devuelve la cadena. Permite crear una de las matrices siguientes: ■ ■ ■ una matriz vacía. Funciones globales 19 .. Descripción Desfasada desde Flash Player 5. Evalúa el parámetro x como una cadena. trace(expression:O bject) unescape(string:St ring) : String Evalúa la expresión y produce el resultado.) y la statement(s):Objec sentencia with. una matriz de longitud específica pero con elementos con valores undefined.. Función Array Array(): Array Array(numElements:Number): Array Array([element0:Object [. El uso de esta función es similar a la creación de una matriz con el constructor Array (véase "Constructor de la clase Array"). una matriz cuyos elementos tienen valores específicos. elementN). Activa y desactiva el suavizado en Flash Player. unloadMovie(target) Elimina un clip de película que se cargó mediante unloadMovieNum(lev el:Number) Elimina un archivo SWF o una imagen que se cargó mediante loadMovieNum() desde Flash Player. element2. Adobe recomienda el uso de notación con puntos (.. posiblemente de distintos tipos de datos. . Esta función está desfasada y en su lugar debe utilizarse _quality.elementN] ]) : Array Crea una nueva matriz de longitud cero o más.. . Puede pasar un número (numElements) o una lista de elementos que contenga uno o varios tipos (element0. Aplica las instrucciones especificadas en el t) parámetro statements a la línea de tiempo especificada en el parámetro target. loadMovie() desde Flash Player. element1.Modificadores Firma tellTarget(target: String. Los parámetros que pueden aceptar más de un tipo de datos se muestran en la firma como tipo Object.

la función Array() no utiliza la palabra clave new. trace (myArray).undefined. myArray.length). Los parámetros que pueden aceptar más de un tipo de datos se engloban en el tipo Object. "thirdElement"). elementN. //rastrea 12. trace(myArray). "secondElement".Una matriz.secondElement.undefined.thirdElement A diferencia del constructor de la clase Array.undefined. element0. elementN Valor devuelto Array . // rastrea firstElement. element1.undefined Sintaxis 3: El ejemplo siguiente crea una matriz con tres elementos definidos: var myArray:Array = Array("firstElement".. Véase también Array 20 Elementos del lenguaje ActionScript . .Un entero positivo que especifica el número de elementos de la matriz. . trace(myArray). // rastrea undefined. Puede especificar numElements o la lista de elementos. [opcional] .uno o varios parámetros.undefined. trace(myArray.push(12). Puede especificar numElements o la lista de elementos. cuyos valores pueden ser de cualquier tipo. Ejemplo var myArray:Array = Array(). pero no los dos. //rastrea 12 myArray[4] = 7.undefined. pero no los dos. // rastrea 4 trace(myArray)..7 Sintaxis 2: El ejemplo siguiente crea una matriz de longitud 4 pero sin elementos definidos: var myArray:Array = Array(4).Parámetros numElements [opcional] .

el valor devuelto es false.Función Boolean Boolean(expression:Object) : Boolean Convierte el parámetro expression en un valor booleano y devuelve un valor como se describe en la siguiente lista: ■ ■ Si expression es un valor booleano. Valor devuelto Boolean . // salida: true trace(Boolean(true)).Valor booleano. la función Boolean() no utiliza la palabra clave new. // salida: true trace(Boolean(0)). // salida: false Funciones globales 21 . Si expression es un número. el valor devuelto es expression. En el caso de archivos publicados para Flash Player 6 o versiones anteriores. el valor es false si la cadena está vacía. el valor es false si la cadena está vacía. el valor devuelto es true si el número no es cero. // salida: false trace(Boolean(1)).Una expresión para convertir en un valor booleano. // salida: true trace(Boolean(false)). y false en el resto de los casos. el valor devuelto es false. el valor es true si el número no es cero. el valor devuelto es el siguiente: ■ ■ Si expression es una cadena. A diferencia del constructor de la clase Boolean. En archivos publicados para Flash Player 7 o posterior. el constructor de la clase Boolean inicializa un objeto Boolean como false si no se especifica ningún parámetro. el resultado es true si la longitud de la cadena es mayor que cero. Ejemplo trace(Boolean(-1)). la cadena se convierte primero en un número. el resultado es true si la longitud de la cadena es mayor que cero. Si expression es un clip de película o un objeto. mientras que la función Boolean() devuelve undefined si no se especifica ningún parámetro. ■ ■ Si expression es undefined o NaN (no un número). en caso contrario. el valor devuelto es true. Si expression es una cadena. Además. Parámetros expression:Object .

// true // Las variables que representan objetos booleanos se comparan por su referencia var a:Boolean = new Boolean("a"). // a tiene el valor true var b:Boolean = Boolean(1). // false Véase también Boolean Función call call(frame) Desfasada desde Flash Player 5. La función Boolean() crea un valor booleano.trace(Boolean("true")). ■ Si no se declaran variables en un bloque ({}) pero la lista de acciones de ejecutó con una acción call(). ■ 22 Elementos del lenguaje ActionScript . Las variables locales no existen después de ejecutar el script. // salida: false Este ejemplo muestra una diferencia significativa entre el uso de la función Boolean() y la clase Boolean. Ejecuta el script en el fotograma llamado sin mover la cabeza lectora a ese fotograma. // salida: false trace(Boolean("false")). // salida: true trace(Boolean("")). // Las variables que representan valores booleanos se comparan por su valor var a:Boolean = Boolean("a"). Si no se declaran variables en un bloque y la lista de acciones actual no se ejecutó con la acción call(). // b tiene el valor true trace(a==b). // salida: false trace(Boolean("Craiggers")). Los valores booleanos se comparan por valor y los objetos booleanos se comparan por referencia. // b tiene el valor true trace(a == b). // salida: true trace(Boolean("false")). las variables se interpretarán como variables de la línea de tiempo. Esta acción está desfasada y en su lugar debe utilizarse la sentencia function. las variables serán locales y caducarán al final de la lista actual. // salida: true trace(Boolean("Craiggers")). // salida: false Si los archivos se publican para Flash Player 6 y versiones anteriores. mientras que la clase Boolean crea un objeto booleano. los resultados serán diferentes para tres de los ejemplos anteriores: trace(Boolean("true")). // a tiene el valor true var b:Boolean = new Boolean(1).

Véase también Sentencia function. Ejemplo El ejemplo siguiente convierte el número 65 en la letra A y la asigna a la variable myVar: myVar = chr(65).Un número de código ASCII. . Convierte números de código ASCII en caracteres.La etiqueta o el número de un fotograma en la línea de tiempo. Valor devuelto String .Parámetros frame:Object . call (método Function. Parámetros intervalID:Number setInterval().fromCharCode(). Esta función está desfasada y en su lugar debe utilizarse String.El valor de carácter del código ASCII especificado.Un identificador numérico (entero) devuelto desde una llamada a Funciones globales 23 .fromCharCode) Función clearInterval clearInterval(intervalID:Number) : Void Cancela un intervalo creado por una llamada a setInterval().call) Función chr chr(number) : String Desfasada desde Flash Player 5. Véase también fromCharCode (método String. Parámetros number:Number .

my_mc).La ruta de destino del clip de película que se va a duplicar. independientemente del lugar en el que se encuentre la cabeza lectora del clip de película original. depth:Number) : Void Crea una instancia de un clip de película durante la reproducción del archivo SWF. Las variables del clip de película original no se copian en el clip de película duplicado. depth:Number) : VoidduplicateMovieClip(target:MovieClip. newname:String 24 Elementos del lenguaje ActionScript .Identificador exclusivo del clip de película duplicado. Este parámetro puede ser una cadena (por ejemplo. "my_mc") o una referencia directa a la instancia de clip de película (por ejemplo. la cabeza lectora siempre empieza en el fotograma 1. } var intervalID:Number = setInterval(myTimer. Véase también Función setInterval Función duplicateMovieClip duplicateMovieClip(target:String. Cree un botón llamado y utilice el código ActionScript siguiente para borrar setInterval(): clearInt_btn. . trace("cleared interval"). newname:String. En los clips de película duplicados. }. newname:String.Ejemplo El ejemplo siguiente establece primero y luego borra una llamada de intervalo: function callback() { trace("interval called: "+getTimer()+" ms.onRelease = function(){ clearInterval(intervalID). Parámetros target:Object ."). 1000). Utilice la función o el método removeMovieClip() para eliminar una instancia de clip de película creada mediante duplicateMovieClip(). Los parámetros que pueden aceptar más de un tipo de datos se engloban en el tipo Object. clearInt_btn Necesita borrar el intervalo cuando termine de utilizar la función.

loadMovie("http://www. removeMovieClip (método MovieClip. Este orden de apilamiento es similar al de las capas de la línea de tiempo. duplicateMovieClip(img_mc. this. }.duplicateMovieClip). newImg_mc.depth:Number . Para eliminar el clip de película duplicado puede añadir este código para un botón llamado myButton_btn. this. Si se utiliza en una cadena con codificación URL.helpexamples. se duplica el clip img_mc. this.loadMovie("http://www.helpexamples.onRelease = function(){ removeMovieClip(newImg_mc). los clips de película con un nivel de profundidad inferior se ocultan bajo los clips con un orden de apilamiento superior.com/flash/images/image1.createEmptyMovieClip("img_mc". newImg_mc.jpg"). El clip duplicado se llama newImg_mc y este nuevo clip pasa al escenario para que no se superponga al clip original. y se carga la misma imagen en el segundo clip. el símbolo de porcentaje (%) introduce caracteres de escape y no equivale al operador de módulo (%). img_mc. a continuación._x = 200.jpg"). Ejemplo En el ejemplo siguiente.getNextHighestDepth()). "newImg_mc". Funciones globales 25 .. this. Debe asignar a cada clip de película duplicado un nivel de profundidad exclusivo para evitar la sustitución de archivos SWF en niveles de profundidad ocupados.com/flash/images/image1. Se carga una imagen en el clip de película y. El nivel de profundidad es el orden de apilamiento de los clips de película duplicados.Nivel de profundidad exclusivo del clip de película duplicado. Véase también Función removeMovieClip.removeMovieClip) Función escape escape(expression:String) : String Convierte el parámetro en una cadena y la codifica con un formato URL codificado donde todos los caracteres no alfanuméricos se sustituyen por secuencias hexadecimales %. se crea un nuevo clip de película con el nombre img_mc.getNextHighestDepth()). duplicateMovieClip (método MovieClip.myButton_btn.

el símbolo de arroba (@) se ha sustituido por %40 y el símbolo de punto (. se utilizaba eval() para simular matrices. se devuelve el valor de la variable o propiedad. 26 Elementos del lenguaje ActionScript . En Flash 5 o posterior.com?returnurl="+ escape(redirectUrl)). Estas sustituciones resultan útiles cuando se intenta pasar información a un servidor remoto y los datos contienen caracteres especiales (por ejemplo. por %2E.myothersite. En Flash 4. en Flash 5 o posterior. se devuelve undefined. Por ejemplo. getURL("http://www.). sustituya el código eval ("var" + i) = "first". Sin embargo.Expresión para convertir en una cadena y codificar en un formato URL codificado. Si la expresión es un objeto o clip de película. Si no se encuentra el elemento designado en la expresión. Véase también Función unescape Función eval eval(expression:Object) : Objecteval(expression:String) : Object Accede a las variables.Cadena con codificación URL. no se puede utilizar eval() para establecer y recuperar dinámicamente el valor de una variable o nombre de instancia porque no se puede utilizar eval() en el lado izquierdo de una ecuación.com". Ejemplo El siguiente código genera el resultado someuser%40somedomain%2Ecom: var email:String = "someuser@somedomain. propiedades. En Flash 4. se devuelve una referencia al objeto o clip de película. trace(escape(email)). Valor devuelto String . como se muestra en el código siguiente: var redirectUrl = "http://www. & o ?). Si la expresión es una variable o una propiedad. En este ejemplo. esto también puede realizarse mediante el operador de acceso a la matriz ([]). debería utilizarse la clase Array para simular matrices.somedomain.com?loggedin=true&username=Gus". se puede utilizar además eval() para establecer y recuperar dinámicamente el valor de una variable o nombre de instancia. objetos o clips de película por su nombre.Parámetros expression:String .

denominados square1_mc. 5). Parámetros expression:Object . i <= 3. Valor devuelto Object . i++) { this["square"+i+"_mc"]. Ejemplo El ejemplo siguiente utiliza eval() para establecer propiedades para clips de película con nombres dinámicos._rotation = -5. objeto o clip de película que debe recuperarse. i++) { setProperty(eval("square"+i+"_mc"). _rotation. square2_mc y square3_mc. propiedad. o undefined.El nombre de una variable. Este parámetro puede ser una cadena o una referencia directa a la instancia del objeto (el uso de las comillas (" ") es opcional). } También puede utilizar el código ActionScript siguiente: for (var i = 1. una referencia a un objeto o clip de película. for (var i = 1.Un valor. Sentencia set variable Funciones globales 27 . i <= 3. } Véase también Array. Este código ActionScript define la propiedad _rotation para tres clips de película.por esto: this["var"+i] = "first" o esto: set ("var" + i. "first").

Este comando sólo está admitido si el reproductor Flash Lite se ejecuta en modo independiente.. arg1. No está admitido si el reproductor se ejecuta en el contexto de otra aplicación (por ejemplo. parameters:String) : Void La función fscommand() permite que un archivo SWF se comunique con el reproductor Flash Lite o con el entorno para un dispositivo móvil (como un sistema operativo).. Los parámetros definen el nombre de la aplicación que se inicia y sus parámetros correspondientes..Función fscommand fscommand(command:String. Utilice este comando con precaución. arg2. El nombre de la aplicación y sus parámetros se pasan como un solo argumento. Si esto ocurriese. como complemento de un navegador). Nota: esta función depende del sistema operativo. separados por comas. ya que podría llamar al dispositivo host y realizar una operación no admitida. Comando launch Parámetros application-path. podría bloquear el dispositivo host.. argn Propósito Este comando inicia otra aplicación en un dispositivo móvil. 28 Elementos del lenguaje ActionScript .

El código ActionScript que sigue justo después de la llamada a fscommand() se ejecuta en primer lugar. no ocurre nada. Nota: como la función fscommand() se ejecuta de forma asíncrona. Si no hay ningún campo de texto seleccionado al procesarse el comando. Este comando surte efecto únicamente si el teléfono admite edición de texto en línea. Esto hace que los campos de texto se activen para la edición al seleccionarlos. Este comando resalta un campo de texto pasado previamente al método Selection.Comando activateTextField Parámetros "" (ignored) Propósito Este comando activa de forma asíncrona el campo de texto seleccionado actualmente y lo activa para que los usuarios puedan editarlo. Dado su comportamiento asíncrono. Este comando se puede llamar como parte de la función callback del detector de eventos Selection. Parámetros command:String . Funciones globales 29 .Una cadena que se pasa a la aplicación host para cualquier uso o un comando que se pasa al reproductor Flash Player.setFocus() y activa el campo de texto para poder editarlo. parameters:String . el campo de texto no se activa inmediatamente: lo hace al final del fotograma.onSetFocus().Una cadena que se pasa a la aplicación host para cualquier uso o un valor que se pasa al reproductor Flash Player. este comando se procesa al final del fotograma.

Por el contrario. debe utilizar comandos y parámetros predefinidos. mientras que fscommand() se ejecuta al final del fotograma que se procesa..com"). la función fscommand() abre wap..0..yahoo.parameterN:String) : Void Permite que el archivo SWF se comunique con el reproductor Flash Lite o con la aplicación host de un dispositivo móvil.1 están desfasados. } Función fscommand2 fscommand2(command:String. fallida o el resultado del comando. parameter1:String. Comandos fscommand2() desfasados En Flash Lite 2. Para utilizar fscommand2() para enviar un mensaje al reproductor Flash Lite. Flash Lite ejecuta fscommand2() inmediatamente (es decir.Ejemplo En el ejemplo siguiente. algunos comandos fscommand2() de Flash Lite 1.com en el navegador Web o en el navegador de servicios en teléfonos de la serie 60: on(keyPress "9") { status = fscommand("launch".app.yahoo. La función fscommand2() es similar a la función fscommand(). En la tabla siguiente se muestran los comandos fscommand2() desfasados: Comando Escape GetDateDay GetDateMonth GetDateWeekday En su lugar debe utilizarse Función global escape Método getDate() del objeto Date Método getMonth() del objeto Date Método getDay() del objeto Date 30 Elementos del lenguaje ActionScript . Consulte la sección "Comandos fscommand2" en "Elementos del lenguaje ActionScript" para conocer los valores que se pueden especificar para los comandos y los parámetros de la función fscommand(). dentro del fotograma).http://wap. con las siguientes diferencias: ■ La función fscommand2() puede tomar cualquier número de argumentos. La función fscommand2() devuelve un valor que puede utilizarse para notificar una resolución correcta. ■ ■ Nota: ninguno de los comandos fscommand2() están disponibles en reproductores Web. la función fscommand() sólo puede tomar un argumento. Estos valores controlan archivos SWF que se reproducen en el reproductor Flash Lite. "z:\\system\\apps\\browser\\browser.

Propiedad de un clip de película. parameters:String Función getProperty getProperty(my_mc:Object. . Funciones globales 31 . Devuelve el valor de la propiedad especificada para el clip de película my_mc. .Una cadena que se pasa a la aplicación host para cualquier uso o un comando que se pasa al reproductor Flash Player. property:Object Valor devuelto Object .Una cadena que se pasa a la aplicación host para cualquier uso o un valor que se pasa al reproductor Flash Player.capabilities.language Método getLocaleLongDate() del objeto Date Método getLocaleShortDate() del objeto Date Método getLocaleTime() del objeto Date Método getHours() del objeto Date Método getMinutes() del objeto Date Método getSeconds() del objeto Date Método getTimeZoneOffset() del objeto Date MovieClip. introducida en Flash Player 5._quality Función global unescape() Parámetros command:String . property:Object) : Object Desfasada desde Flash Player 5.Nombre de instancia de un clip de película cuya propiedad se recupera.Valor de la propiedad especificada. Parámetros my_mc:Object . Esta función está desfasada y en su lugar debe utilizarse la sintaxis con puntos.Comando GetDateYear GetLanguage GetLocaleLongDate GetLocaleShortDate GetLocaleTime GetTimeHours GetTimeMinutes GetTimeSeconds GetTimeZoneOffset SetQuality Unescape En su lugar debe utilizarse Método getYear() del objeto Date Propiedad System.

Función getTimer getTimer() : Number Devuelve el número de milisegundos transcurridos desde que se inició la reproducción del archivo SWF. las funciones getTimer() y setInterval() se utilizan para crear un temporizador sencillo: this. window:String [.createTextField("timer_txt".createEmptyMovieClip("someClip_mc". Valor devuelto . 100. 0. Nota: esta función no se admite en dispositivos BREW. Función getURL getURL(url:String [.Ejemplo El ejemplo siguiente crea el clip de película nuevo someClip_mc y muestra el valor alfa (_alpha) del clip someClip_mc en el panel Salida: this.Número de milisegundos transcurridos desde que se inició la reproducción del archivo SWF. } var intervalID:Number = setInterval(updateTimer. Number Ejemplo En el ejemplo siguiente. _name)+" is: "+getProperty(someClip_mc. trace("The alpha of "+getProperty(someClip_mc. 999). 32 Elementos del lenguaje ActionScript . 0. asegúrese de que el archivo que se va a cargar se encuentra en la ubicación especificada. this. method:String] ]) : Void Carga un documento de una URL específica en una ventana o pasa variables a otra aplicación en una URL definida. function updateTimer():Void { timer_txt. Para probar esta función. 22). Para utilizar una URL absoluta (por ejemplo. 100).getNextHighestDepth().myserver. http://www.text = getTimer(). _alpha)). se necesita una conexión de red.com).

se utiliza getURL() para enviar un mensaje de correo electrónico: myBtn_btn.com/software/flash/flashpro/".onRelease = function(){ getURL("http://www. El método GET añade las variables al final de la URL y se utiliza para números reducidos de variables. window:String [opcional] . Funciones globales 33 . especifica una nueva ventana. var age:Number = 92.onRelease = function() { getURL("http://www. logo. }. method:String Ejemplo Este ejemplo carga una imagen en un clip de película. listenerObject.loadClip("http://www. var logo:MovieClipLoader = new MovieClipLoader().helpexamples. "_blank"). _blank _parent _top especifica el fotograma de nivel superior de la ventana actual. El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas. "_blank".com".com/flash/images/image1. var listenerObject:Object = new Object(). Cuando se hace clic en la imagen.onRelease = function(){ getURL("mailto:you@somedomain.macromedia.onLoadInit = function(target_mc:MovieClip) { target_mc. En el ejemplo siguiente. "GET"). Puede introducir el nombre de una ventana específica o seleccionarlo de entre los siguientes nombres de destino reservados: _self ■ ■ ■ ■ especifica el fotograma actual en la ventana actual.Parámetros url:String .jpg".Un método GET o POST para enviar variables. }. También puede utilizar GET o POST para enviar variables. [opcional] . logo.addListener(listenerObject). El ejemplo siguiente utiliza GET para añadir variables a una URL: var firstName:String = "Gus". especifica el elemento principal del fotograma actual.createEmptyMovieClip("macromedia_mc". var lastName:String = "Richardson". myBtn_btn. se carga un nuevo URL en una nueva ventana del navegador.macromedia. omita este parámetro. }. this.com").getNextHighestDepth())). this.Especifica la ventana o marco HTML donde debería cargarse el documento. Si no hay ninguna variable. }.URL del cual se obtiene el documento.

os). La función getVersion devuelve información únicamente para Flash Player 5 o versiones posteriores de Flash Player. "POST").0.0 La función getVersion devuelve la cadena siguiente: WIN 8. trace(flashVersion).0 trace(System.send). // salida: WIN 8.1.0.sendAndLoad) Función getVersion getVersion() : String Devuelve una cadena que contiene información de la versión de Flash Player y de la plataforma. Compruebe los documentos en una ventana del navegador. sendAndLoad (método XML.0. // salida: WIN 8.0 Esta cadena devuelta indica que la plataforma es Microsoft Windows y el número de versión de Flash Player es la versión superior 8.Cadena que contiene información de la versión de Flash Player y de la plataforma. En caso contrario. send (método XML. versión inferior 1 (8.capabilities.macromedia.0. Ejemplo Los ejemplos siguientes realizan un seguimiento del número de versión de Flash Player que está reproduciendo el archivo SWF: var flashVersion:String = getVersion().com". "_blank". // salida: WIN 8. var lastName:String = "Richardson". Valor devuelto String .1).1.El código ActionScript siguiente utiliza POST para enviar variables en el encabezado HTTP.0 trace($version). var age:Number = 92.1.version). Véase también os (propiedad capabilities.version) 34 Elementos del lenguaje ActionScript . version (propiedad capabilities.1. las variables se enviarán utilizando GET: var firstName:String = "Gus". getURL("http://www. Véase también Función loadVariables.

onRelease = function(){ gotoAndPlay("sceneTwo". Parámetros scene:String [opcional] . myBtn_btn y myOtherBtn_btn. Ejemplo En el ejemplo siguiente un documento tiene dos escenas: sceneOne y sceneTwo. frame:Object . escena 1 de la línea de tiempo principal. Si no se especifica ninguna escena.Función gotoAndPlay gotoAndPlay([scene:String.gotoAndPlay). La escena uno contiene una etiqueta de fotograma en el fotograma 10 llamada newFrame y dos botones. la cabeza lectora se desplaza al fotograma especificado de la escena actual.Una cadena que especifica el nombre de la escena a la que se envía la cabeza lectora. Función prevFrame Funciones globales 35 .Número que representa el número de fotograma o la cadena que representa la etiqueta del fotograma al que se envía la cabeza lectora. Véase también gotoAndPlay (método MovieClip. Puede utilizar el parámetro scene únicamente en la línea de tiempo de raíz. stop(). no en las líneas de tiempo de los clips de película u otros objetos del documento.] frame:Object) : Void Envía la cabeza lectora al fotograma especificado en una escena y reproduce desde dicho fotograma.onRelease = function(){ gotoAndPlay("newFrame"). }. myOtherBtn_btn. Este código ActionScript se inserta en el fotograma 1. myBtn_btn. Función nextFrame. Función play. 1). la cabeza lectora pasa a la ubicación especificada y sigue reproduciéndose. Cuando el usuario hace clic en los botones. }.

Véase también gotoAndStop (método MovieClip. la cabeza lectora pasa a la ubicación especificada y se detiene. }. Función play.Función gotoAndStop gotoAndStop([scene:String. Ejemplo En el ejemplo siguiente un documento tiene dos escenas: sceneOne y sceneTwo.gotoAndStop). Cuando el usuario hace clic en los botones.] frame:Object) : Void Envía la cabeza lectora al fotograma especificado en una escena y la detiene. La escena uno contiene una etiqueta de fotograma en el fotograma 10 llamada newFrame y dos botones. Parámetros scene:String [opcional] . myBtn_btn. }.onRelease = function(){ gotoAndStop("sceneTwo". frame:Object . Puede utilizar el parámetro scene sólo en la línea de tiempo raíz.Una cadena que especifica el nombre de la escena a la que se envía la cabeza lectora.onRelease = function(){ gotoAndStop("newFrame"). myBtn_btn y myOtherBtn_btn. escena 1 de la línea de tiempo principal: stop(). Este código ActionScript se inserta en el fotograma 1. Función stop. no en las líneas de tiempo de los clips de película u otros objetos del documento. la cabeza lectora se envía al fotograma de la escena actual. 1).Número que representa el número de fotograma o la cadena que representa la etiqueta del fotograma al que se envía la cabeza lectora. myOtherBtn_btn. Si no se ha especificado ninguna escena. Función gotoAndPlay 36 Elementos del lenguaje ActionScript .

round). Valor devuelto Number . floor (método Math. Comprueba si el contenido de un fotograma específico está disponible localmente.El valor de entero truncado.floor() si el parámetro value es positivo y Math.Es necesario cargar el número de fotograma o la etiqueta de fotograma antes de ejecutar la sentencia siguiente. } Desfasada desde Flash Player 5.ceil() si el parámetro value es negativo.Se cargan las instrucciones que se ejecutan en una escena especificada. Esta función está desfasada y en su lugar debe utilizarse Math.round().ceil) Funciones globales 37 . Véase también addListener (método MovieClipLoader. Parámetros scene:String [opcional] . Esta función es equivalente a Math. La diferencia entre _framesloaded y ifFrameLoaded radica en que _framesloaded permite añadir sentencias if o else personalizadas.Un número que se redondeará a un entero. Convierte un número decimal en un valor de entero truncando el valor decimal. ceil (método Math. Parámetros value:Number . Utilice ifFrameLoaded para comenzar a reproducir una animación sencilla mientras se descarga el resto del archivo SWF en un equipo local._framesloaded.Una cadena que especifica el nombre de la escena que se debe cargar. Esta función está desfasada.floor).] frame) { statement(s). frame:Object .Función ifFrameLoaded ifFrameLoaded([scene.addListener) Función int int(value) : Number Desfasada desde Flash Player 5. Adobe recomienda la utilización de la propiedad MovieClip. o en una escena y en un fotograma. statement(s):Object . Véase también round (método Math.

Valor booleano. Parámetros expression:Object . Esta función es útil para comprobar si una expresión matemática da como resultado un número. Valor devuelto Boolean . Parámetros expression:Object . la división por 0. Ejemplo El ejemplo siguiente muestra los valores devueltos para isFinite: isFinite(56) // devuelve el valor true isFinite(Number. La presencia de infinito o infinito negativo indica un error matemático como.Valor booleano.POSITIVE_INFINITY) // devuelve el valor false Función isNaN isNaN(expression:Object) : Boolean Evalúa el parámetro y devuelve true si el valor es NaN (no es un número).Función isFinite isFinite(expression:Object) : Boolean Evalúa expression y devuelve true si es un número finito o false si es infinito o infinito negativo. 38 Elementos del lenguaje ActionScript .Valor booleano.Valor booleano. variable u otra expresión que se va a evaluar. Valor devuelto Boolean . por ejemplo. variable u otra expresión que se va a evaluar.

junto con todas las funciones string.Una cadena. // devuelve el valor true trace(isNaN(56)). var divisor:Number.NEGATIVE_INFINITY). // devuelve el valor false trace(isNaN(Number. // Un número negativo dividido por 0 es (Number.Ejemplo El código siguiente ilustra los valores devueltos para la función isNaN(): trace(isNaN("Tree")). está desfasada. Funciones globales 39 . Esta función.NaN) Función length length(expression)length(variable) Desfasada desde Flash Player 5.POSITIVE_INFINITY). Adobe recomienda que utilice los métodos de la clase String y la propiedad String. NaN (propiedad Number.POSITIVE_INFINITY)) // devuelve el valor false El ejemplo siguiente muestra cómo puede utilizar isNAN() para comprobar si una expresión matemática contiene un error: var dividend:Number. // Un número positivo dividido por 0 es (Number.El nombre de una variable. ya que devolverá el igual a Infinity igual a -Infinity Véase también Constante NaN. Parámetros expression:String variable:Object . división por 0.length para realizar las mismas operaciones. // salida: true // La salida es true porque la variable // No utilice isNAN() para comprobar la valor false. Devuelve la longitud de la cadena o la variable especificada. . divisor = 1. trace(isNaN(dividend/divisor)). dividend es undefined.

length) Función loadMovie loadMovie(url:String. se puede utilizar la ruta de destino de dicho clip de película para buscar el archivo SWF cargado. Sin la función loadMovie(). Cuando se carga un archivo SWF en un clip de película de destino. Ejemplo El ejemplo siguiente devuelve la longitud de la cadena "Hello": length("Hello"). target:String [. length (propiedad String.El resultado es 5.La longitud de la cadena o la variable especificada. utilice MovieClipLoader. la esquina superior izquierda de la imagen o del archivo SWF se alinea con la esquina superior izquierda del escenario. Utilice unloadMovie() para eliminar los archivos SWF que se cargaron con loadMovie(). target:Object [. Un archivo SWF o una imagen que se carga en un destino hereda las propiedades de posición. utilice loadMovieNum() en lugar de loadMovie().Valor devuelto Number . String. los archivos JPEG guardados en formato progresivo no son compatibles. Si desea cargar un archivo SWF o JPEG en un nivel específico. Como alternativa. si el destino se encuentra en la línea de tiempo raíz. Véase también Operador delimitador de cadena ("). La esquina superior izquierda de la imagen o archivo SWF cargado se alinea con el punto de registro del clip de película de destino. rotación y escala del clip de película de destino.loadClip() en lugar de esta función. method:String]) : Void Carga un archivo SWF o JPEG en Flash Player durante la reproducción del archivo SWF original. 40 Elementos del lenguaje ActionScript . La función loadMovie() permite mostrar varios archivos SWF simultáneamente y cambiar entre archivos SWF sin cargar otro documento HTML. Sugerencia: si desea controlar el progreso de la descarga. method:String]) : VoidloadMovie(url:String. Flash Player muestra un solo archivo SWF.

El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas. Este código carga el JPEG en logo_mc.swf".swf desde el mismo directorio en un clip de película nuevo llamado logo_mc que se crea empleando createEmptyMovieClip(): this.Especifica un método HTTP para enviar variables.onRelease = function(){ loadMovie("image1. El JPEG se carga al hacer clic en un botón denominado myBtn_btn.mySquare).swf desde el mismo directorio y reemplaza un clip de película llamado mySquare que ya existe en el escenario: method:String [opcional] . logo_mc).URL absoluto o relativo del archivo SWF o JPEG que se va a cargar. omita este parámetro.jpg". }. this). target:Object . "mySquare"). logo_mc). Las URL absolutas deben incluir la referencia al protocolo.swf". Puede añadir el código siguiente para cargar una imagen JPEG llamada image1.swf".Parámetros url:String .swf". 999). pero reemplaza el clip de película principal en lugar del clip mySquare: loadMovie("circle. El clip de película de destino se sustituye por el archivo SWF o la imagen que se carga. La siguiente sentencia loadMovie() carga el archivo SWF sub. El método GET añade las variables al final de la URL y se utiliza para un número reducido de variables. reemplazará a sub.jpg desde el mismo directorio que el archivo SWF que carga sub. loadMovie("sub. El parámetro loadMovie("circle.swf. myBtn_btn. mySquare). // Tenga en cuenta que utilizar "this" como cadena del parámetro target no surtirá ningún efecto // sentencia equivalente (sintaxis 2): loadMovie("circle. Funciones globales 41 .swf".swf". Por tanto. // sentencia equivalente (sintaxis 2): loadMovie("circle. debe ser la cadena GET o POST. El ejemplo siguiente carga el archivo SWF circle. "_level0").createEmptyMovieClip("logo_mc".swf por la imagen JPEG. Una ruta relativa debe ser relativa al archivo SWF en el nivel 0. _level0. Ejemplo Sintaxis 1: El ejemplo siguiente carga el archivo SWF circle.Referencia a un objeto de clip de película o a una cadena que representa la ruta de acceso a un clip de película de destino. Si no hay ninguna variable para enviar.swf desde el mismo directorio. // sentencia equivalente (sintaxis 1): loadMovie("circle. como http:// o file:///.

"mySquare"). Función loadMovieNum. La acción loadMovieNum() permite mostrar varios archivos SWF simultáneamente y cambiar entre archivos SWF sin cargar otro documento HTML. donde N es el número de nivel. Flash Player tiene un orden de apilamiento de niveles a partir del nivel 0. Además. el archivo cargado hereda la rotación y la escala.Sintaxis 2: El ejemplo siguiente carga el archivo SWF circle. Estos niveles son como capas de acetato: son transparentes. en ambos casos. Si carga un archivo SWF en el nivel 0. En las imágenes y archivos SWF. excepto en los objetos de cada nivel.swf desde el mismo directorio y reemplaza un clip de película llamado mySquare que ya existe en el escenario: loadMovie("circle. Cuando se carga un archivo SWF en un nivel. Cuando utilice loadMovieNum(). Flash Player muestra un solo archivo SWF y se cierra. puede utilizar la sintaxis _levelN. De esta forma.loadMovie). utilice MovieClipLoader. el nuevo archivo SWF sustituirá al archivo SWF existente. Función unloadMovie Función loadMovieNum loadMovieNum(url:String.swf". para buscar el archivo SWF. loadMovie (método MovieClip. se descargarán todos los niveles de Flash Player y se sustituirá el nivel 0 por el nuevo archivo. el color de fondo y el tamaño de fotograma de todos los demás archivos SWF cargados. y el contenido original se sobrescribe en el nivel especificado. method:String]) : Void Carga un archivo SWF o JPEG en un nivel de Flash Player durante la reproducción del archivo SWF que se cargó originalmente. utilice loadMovie() en lugar de loadMovieNum(). Sugerencia: si desea controlar el progreso de la descarga. loadClip (método MovieClipLoader. Si desea especificar un destino en lugar de un nivel. debe especificar un nivel en Flash Player donde se cargará el archivo SWF. La acción loadMovieNum() también permite cargar archivos JPEG en un archivo SWF durante su reproducción. Véase también Propiedad _level. la esquina superior izquierda de la imagen se alinea con la esquina superior izquierda del escenario cuando se carga el archivo. El archivo SWF en el nivel 0 establece la velocidad de fotogramas. Cuando cargue un archivo SWF. level:Number [.loadClip). Normalmente.loadClip() en lugar de esta función. puede especificar cualquier número de nivel y puede cargar archivos SWF en un nivel que ya tenga un archivo SWF cargado. 42 Elementos del lenguaje ActionScript .

method:String]) : Void Lee datos de un archivo externo. Por ejemplo.com/flash/images/image1. method:String [opcional] . El texto y la URL especificados deben tener el formato MIME estándar application/x-wwwform-urlencoded (formato estándar que se utiliza en los scripts CGI). como un archivo de texto o texto generado por ColdFusion. . Esta acción se puede utilizar además para actualizar las variables del archivo SWF activo con nuevos valores.jpg en el nivel 2 de Flash Player: loadMovieNum("http://www. todos los archivos SWF deben almacenarse en la misma carpeta y los nombres de archivo no pueden contener especificaciones de carpeta o unidad de disco. Si no hay ninguna variable para enviar. un script CGI. Ejemplo El ejemplo siguiente carga la imagen JPEG tim.Entero que especifica el nivel de Flash Player en el que se cargará el archivo level:Number SWF. loadClip (método MovieClipLoader. target:Object [.loadClip).Especifica un método HTTP para enviar variables. El parámetro debe ser la cadena GET o POST. omita este parámetro. páginas Active Server (ASP). El método GET añade las variables al final de la URL y se utiliza para un número reducido de variables. Propiedad _level Función loadVariables loadVariables(url:String.URL absoluto o relativo del archivo SWF o JPEG que se va a cargar. Una ruta relativa debe ser relativa al archivo SWF en el nivel 0. El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas. Parámetros url:String .helpexamples. script PHP o Perl.jpg". Véase también Función unloadMovieNum. y establece los valores de las variables en un clip de película de destino. Se puede especificar cualquier número de variables. 2). Para utilizar Flash Player de forma independiente o para realizar pruebas en el modo de prueba de la aplicación de edición de Flash.Nota: los archivos JPEG guardados en formato progresivo no son compatibles. la siguiente frase define varias variables: company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103 Funciones globales 43 . Función loadMovie. Utilice unloadMovieNum() para eliminar los archivos SWF o las imágenes que se cargaron con loadMovieNum().

"). this. . } else { 44 Elementos del lenguaje ActionScript . denominado someDomain. Por ejemplo.com. consulte la sección Descripción. target:Object method:String [opcional] .com porque ambos archivos se encuentran en el mismo superdominio. target_mc). omita este parámetro.txt".someDomain. Si no hay ninguna variable para enviar. Para más información. puede colocar un archivo de política para distintos dominios en el servidor que aloja el archivo SWF al que se obtiene acceso. el url debe pertenecer exactamente al mismo dominio que el archivo SWF que realiza esta llamada (véase "Funciones de seguridad de Flash Player" en Utilización de ActionScript en Flash). el valor url debe pertenecer al mismo dominio que el archivo SWF. Por ejemplo. Si el archivo SWF que realiza esta llamada se ejecuta en un navegador Web.txt en el clip de película target_mc que se crea utilizando createEmptyMovieClip(). this.someDomain. loadVariables("params.done == undefined) { trace("not yet.Especifica un método HTTP para enviar variables.com puede cargar datos de una fuente situada en store.getNextHighestDepth()). El script busca en el archivo params. El método GET añade las variables al final de la URL y se utiliza para un número reducido de variables. En los archivos SWF de cualquier versión que se ejecute en Flash Player 7 o posterior. un archivo SWF situado en www.Ruta de destino de un clip de película que recibe las variables que se cargan. El superdominio se obtiene al eliminar el componente más a la izquierda de la URL de un archivo. un archivo SWF en www. La función setInterval() se utiliza para comprobar el progreso de la carga.someDomain.URL donde se ubican las variables. El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas. utilice loadVariablesNum() en lugar de loadVariables(). Si desea cargar datos de un dominio distinto.someDomain. Ejemplo El ejemplo siguiente carga información desde un archivo de texto llamado params. consulte "Carga de datos de varios dominios" en Utilización de ActionScript en Flash. El parámetro debe ser la cadena GET o POST.createEmptyMovieClip("target_mc". url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada.En archivos SWF que se ejecuten en una versión anterior a Flash Player 7. para ver más detalles.txt una variable denominada done. function checkParamsLoaded() { if (target_mc.com puede cargar datos únicamente desde orígenes que también se encuentren en www.com. Si desea cargar variables en un nivel específico. Parámetros url:String .

páginas Active Server (ASP).loadVariables). script PHP o Perl."). method:String]) : Void Lee datos de un archivo externo.someDomain. loadVariables (método MovieClip. loadMovie (método MovieClip. El archivo externo. El texto y la URL especificada deben tener el formato MIME estándar application/x-www(formato estándar que se utiliza en los scripts CGI). Se puede especificar cualquier número de variables.loadMovie). } trace("-------------"). un script CGI.txt. url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada. for (i in target_mc) { trace(i+": "+target_mc[i]). } } var param_interval = setInterval(checkParamsLoaded. params.trace("finished loading. como un archivo de texto o texto generado por ColdFusion. level:Number [. clearInterval(param_interval). y establece los valores de las variables en un nivel de Flash Player. El superdominio se obtiene al eliminar el componente más a la izquierda de la URL de un archivo. Función getURL. killing interval.com puede cargar datos desde un origen en store. Por ejemplo. la siguiente frase define varias variables: form-urlencoded company=Macromedia&address=601+Townsend&city=San+Francisco&zip=94103 En archivos SWF que se ejecuten en una versión del reproductor anterior a Flash Player 7. Esta función se puede utilizar además para actualizar las variables del archivo SWF activo con nuevos valores.someDomain. incluye el texto siguiente: var1="hello"&var2="goodbye"&done="done" Véase también Función loadVariablesNum. Función loadMovie. load (método LoadVars. Función loadMovieNum.com porque ambos archivos pertenecen al mismo superdominio (someDomain. trace("-------------").com).load) Función loadVariablesNum loadVariablesNum(url:String. Funciones globales 45 . Por ejemplo. 100). un archivo SWF en www.

46 Elementos del lenguaje ActionScript . Si desea cargar datos de un dominio diferente.someDomain. El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas.Entero que especifica el nivel de Flash Player donde se van a recibir las level:Number variables. Los nombres de las variables de los campos de texto deben coincidir con los de las variables del archivo params. method:String [opcional] . killing interval. Ejemplo El ejemplo siguiente carga información desde un archivo de texto llamado params. el url debe pertenecer exactamente al mismo dominio que el archivo SWF que realiza esta llamada (véase "Funciones de seguridad de Flash Player" en Utilización de ActionScript en Flash). Por ejemplo. omita este parámetro. Si el archivo SWF que realiza esta llamada se ejecuta en un navegador Web. Para más información. para ver más detalles. un archivo SWF situado en www.txt. consulte la sección Descripción. 2).txt". trace("-------------"). El método GET añade las variables al final de la URL y se utiliza para un número reducido de variables.com. } else { trace("finished loading.done == undefined) { trace("not yet. .someDomain. Parámetros url:String . consulte "Carga de datos de varios dominios" en Utilización de ActionScript en Flash.com sólo puede cargar datos de fuentes que también se encuentren en www. utilice loadVariables() en lugar de loadVariablesNum(). puede colocar un archivo de política para distintos dominios en el servidor en el que se aloja el archivo SWF. } trace("-------------").txt en la línea de tiempo principal del SWF en el nivel 2 de Flash Player."). function checkParamsLoaded() { if (_level2. El script busca en el archivo params. el valor url debe pertenecer al mismo dominio que el archivo SWF.txt una variable denominada done.En los archivos SWF de cualquier versión que se ejecute en Flash Player 7 o posterior."). La función setInterval() sirve para comprobar el progreso de los datos que se están cargando en el SWF. Si no hay ninguna variable para enviar. El parámetro debe ser la cadena GET o POST. Si desea cargar variables en un nivel específico.URL donde se ubican las variables.Especifica un método HTTP para enviar variables. loadVariablesNum("params. for (i in _level2) { trace(i+": "+_level2[i]).

100). Parámetros string:String . Función loadMovie.length.El número que se va a convertir en un carácter multibyte.La cadena que se va a medir. Esta función está desfasada y en su lugar debe utilizarse el método String. } } var param_interval = setInterval(checkParamsLoaded.load) Función mbchr mbchr(number) Desfasada desde Flash Player 5.clearInterval(param_interval).loadVariables). loadMovie (método MovieClip.loadMovie). Convierte un número de código ASCII en un carácter multibyte. Función loadMovieNum. Funciones globales 47 . Valor devuelto Number .La longitud de la cadena de caracteres multibyte.txt incluye el texto siguiente var1="hello"&var2="goodbye"&done="done" Véase también Función getURL. Véase también fromCharCode (método String. Devuelve la longitud de la cadena de caracteres multibyte.fromCharCode(). Parámetros number:Number . Esta función está desfasada y en su lugar debe utilizarse la propiedad String. // Params.fromCharCode) Función mblength mblength(string) : Number Desfasada desde Flash Player 5. loadVariables (método MovieClip. load (método LoadVars. Función loadVariables.

substr().El número del primer carácter que se va a extraer. Extrae una cadena de caracteres multibyte nueva de la cadena de caracteres multibyte. Valor devuelto Number .Véase también String.character El carácter que se va a convertir en un número multibyte.El carácter convertido. . excluido el carácter de índice.charCodeAt().El número de caracteres que se va a incluir en la cadena extraída. index. Valor devuelto String . length (propiedad String.length) Función mbord mbord(character) : Number Desfasada desde Flash Player 5. . count) : String Desfasada desde Flash Player 5. Parámetros character:String . Véase también substr (método String. Esta función está desfasada y en su lugar debe utilizarse el método String. Esta función está desfasada y en su lugar debe utilizarse el método String. Convierte el carácter especificado en un número multibyte. Véase también charCodeAt (método String.substr) 48 Elementos del lenguaje ActionScript . Parámetros value:String index:Number count:Number .charCodeAt) Función mbsubstring mbsubstring(value.La cadena extraída de la cadena de caracteres multibyte.La cadena multibyte de la que se va a extraer una nueva cadena multibyte.

stop().UP)) { _level0.DOWN)) { _level0. } Véase también Función prevFrame Función nextScene nextScene() : Void Envía la cabeza lectora al fotograma 1 de la siguiente escena. Si el usuario pulsa la tecla izquierda o arriba.prevFrame().isDown(Key. la cabeza lectora se envía al fotograma 1 de la escena siguiente.isDown(Key. Ejemplo En el ejemplo siguiente. init = 1. } else if (Key.LEFT) || Key. la cabeza lectora pasa al siguiente fotograma y se detiene.isDown(Key.Función nextFrame nextFrame() : Void Envía la cabeza lectora al siguiente fotograma.addListener(someListener).nextFrame(). El detector se inicializa para esperar a que se pulse la tecla de flecha y la variable init se utiliza para evitar que el detector se redefina si la cabeza lectora vuelve al fotograma 1. cuando el usuario pulsa la tecla de flecha derecha o abajo.onKeyDown = function() { if (Key.isDown(Key. if (init == undefined) { Funciones globales 49 . Cree dos escenas e introduzca el código ActionScript siguiente en el fotograma 1 de la escena 1.RIGHT) || Key. la cabeza lectora pasa al fotograma anterior y se detiene. Ejemplo En el ejemplo siguiente. } }. Key. stop(). if (init == undefined) { someListener = new Object(). cuando un usuario hace clic en el botón que se crea en tiempo de ejecución. someListener.

prevscene_mc. 0.nextscene_txt.onRelease = function() { nextScene().text = "Prev Scene". this.getNextHighestDepth(). }. el resultado es 0.autoSize = true.prevscene_txt.border = true. this. la función intenta analizar expression como un número decimal con un exponente final opcional (es decir. nextscene_mc. 200.autoSize = true. nextscene_mc. nextscene_mc. } Asegúrese de insertar una acción stop() en el fotograma 1 de la escena 2. 0 si expression es false.createTextField("prevscene_txt". prevscene_mc. Si expression es un NaN.En archivos publicados para Flash Player 6 o una versión anterior. this. 0. el valor devuelto es expression.nextscene_txt.getNextHighestDepth(). el valor devuelto es 1 si expression es true. prevscene_mc.createEmptyMovieClip("prevscene_mc". prevscene_mc. el valor devuelto es NaN Si expression es undefined. this.onRelease = function() { prevScene(). ■ ■ ■ 50 Elementos del lenguaje ActionScript . 22). nextscene_mc.text = "Next Scene".this.getNextHighestDepth()).57505e-3). 100. prevscene_mc. 100. el valor devuelto es:.createEmptyMovieClip("nextscene_mc".prevscene_txt. Si expression es una cadena. el resultado es NaN. . Si expression es un valor booleano. this.nextscene_txt. Véase también Función prevScene Función Number Number(expression) : Number Convierte el parámetro expression en un número y devuelve un valor como se describe en la siguiente lista: ■ ■ Si expression es un número.createTextField("nextscene_txt".border = true. nextscene_mc. 1.En archivos publicados para Flash Player 7 o una versión posterior. }. init = true. 00.getNextHighestDepth()).prevscene_txt. 22).

Valor devuelto Number . Función parseFloat Función Object Object([value]) : Object Crea un nuevo objeto vacío o convierte en un objeto el número. Valor devuelto Object . También podría utilizar "counter_txt. 22). 0.Parámetros expression:Object .text++. Función parseInt. cadena o valor booleano. Funciones globales 51 . 0.getNextHighestDepth(). counter_txt. Este comando equivale a crear un objeto mediante el constructor de Object (véase "Constructor de la clase Object").createTextField("counter_txt". Los números o las cadenas que comienzan por 0 se interpretan como valores octales. Number. // Sin la función Number(). 100. Flash concatenaría el valor en lugar // de añadir valores.Un número o NaN (no es un número). 1000).Expresión para convertir en un número. this. cadena o valor booleano especificado. Véase también Constante NaN. function incrementInterval():Void { var counter:Number = counter_txt. Los números o las cadenas que comienzan por 0x se interpretan como valores hexadecimales." counter_txt.text = 0. Ejemplo En el ejemplo siguiente se crea un campo de texto en el escenario en tiempo de ejecución: this.Un número. counter_txt. Parámetros value:Object [opcional] .text = Number(counter) + 1.text.autoSize = true.Un objeto. } var intervalID:Number = setInterval(incrementInterval.

capabilities. 52 Elementos del lenguaje ActionScript . company. se presiona el botón del ratón.state = "CA".capabilities. company. company.name = "Macromedia.Un mouseEvent es un desencadenante denominado evento.hasMouse es true o System. Se suelta el botón del ratón cuando el puntero se encuentra sobre el botón.capabilities. rollOver ■ ■ El puntero del ratón se desplaza sobre el botón. company.Ejemplo En el ejemplo siguiente se crea un nuevo objeto vacío y.address = "600 Townsend Street"."+i+" = "+company[i]). a continuación. release releaseOutside Cuando el puntero se encuentra sobre el botón. for (var i in company) { trace("company.capabilities. Cuando se produce el evento. rollOut El puntero se desplaza fuera el área del botón.hasMouse es true o System. se desplaza fuera del área del botón y se suelta. Puede especificarse cualquiera de los siguientes valores para el parámetro mouseEvent: ■ ■ ■ press Se presiona el botón del ratón cuando el puntero se encuentra sobre el botón. Nota: este evento se admite en Flash Lite sólo si System.city = "San Francisco". Parámetros mouseEvent:Object . el objeto se llena de valores: var company:Object = new Object(). } Véase también Object Controlador on on(mouseEvent:Object) { // your statements here } Especifica el evento de ratón o la pulsación de tecla que activa una acción. Inc. Nota: este evento se admite en Flash Lite sólo si System.". Los eventos press y dragOut siempre preceden al evento releaseOutside. se ejecutan las sentencias que aparecen a continuación entre llaves ({ }).postal = "94103".hasStylus es true. company.hasStylus es true.

stopDrag(). } Véase también Controlador onClipEvent. Para ver una lista de las constantes de teclas. a ■ continuación se desplaza fuera del botón y vuelve a desplazarse sobre él. sino que debe hacerse durante la edición._y). Una limitación de esta técnica es que no se puede aplicar el controlador on() en tiempo de ejecución. Ejemplo En el script siguiente. se presiona el botón del ratón. Puede utilizar este parámetro para interceptar una pulsación de tecla.■ dragOut Cuando el puntero se encuentra sobre el botón. ■ keyPress "<key> " Se presiona la tecla especificada del teclado. especifique una constante de tecla. Key Funciones globales 53 . de lo contrario. El botón puede encontrarse en cualquier lugar de la aplicación. } on (release) { trace("X:"+this. se presiona el botón del ratón y se desplaza fuera del área del botón. para sustituir cualquier comportamiento incorporado por la tecla especificada. ya que. trace("Y:"+this. la función startDrag() se ejecuta cuando se pulsa el ratón y el script condicional se ejecuta cuando se suelta el botón del ratón y se coloca el objeto: on (press) { startDrag(this). es decir. algunas teclas con comportamiento incorporado no se sustituirán cuando pruebe la aplicación empleando Control > Probar película. consulte la clase Key. tal y como se muestra en la sugerencia de código del panel Acciones._x). Asegúrese de que selecciona Control > Deshabilitar métodos abreviados de teclado. ya sea dentro o fuera del escenario. En la parte key del parámetro. dragOver Cuando el puntero se encuentra sobre el botón.

mouseDown ■ acción se inicia cuando se presiona el botón izquierdo del ratón.hasMouse es true.El movieEvent es un desencadenante denominado evento . Las acciones asociadas con el evento de clip enterFrame se procesan antes de añadir ninguna acción a los fotogramas afectados. enterFrame ■ La acción se inicia cada vez que se mueve el ratón.capabilities. concretamente cuando se carga la última variable. ■ ■ ■ La acción se activa continuamente a la velocidad de fotogramas del clip de película. el evento data se produce repetidas veces.capabilities. el evento data sólo se produce una vez.Nota: este evento se admite en Flash Lite sólo si System. ■ La acción se inicia cuando se reciben datos en una acción loadVariables() o Si se especifica con una acción loadVariables().capabilities. cuando se recupera cada una de las porciones de datos. data loadMovie().capabilities.hasStylus es true. se ejecutan las sentencias que aparecen a continuación entre llaves ({}). Cuando se produce el evento. Puede especificarse cualquiera de los siguientes valores para el parámetro movieEvent: load La acción se inicia tan pronto como se crea una instancia del clip de película y aparece en la línea de tiempo.Nota: este evento se admite en Flash Lite sólo si System. ■ keyUp La acción se inicia cuando se suelta una tecla.hasMouse es true o System. Las acciones asociadas con el evento de clip de película Unload se procesan antes de añadir ninguna acción al fotograma afectado. Utilice las propiedades _xmouse y _ymouse para determinar la posición actual del ratón.getCode() para recuperar información sobre la última tecla presionada. mouseMove ■ La acción se inicia cuando se presiona el botón izquierdo del ratón. Nota: este evento se admite en Flash Lite sólo si System. 54 Elementos del lenguaje ActionScript . Si se especifica con una acción loadMovie(). Utilice Key. Utilice el método Key.hasMouse es true o System. Parámetros movieEvent:Object . unload La acción se inicia en el primer fotograma después de eliminar el clip de película de la línea de tiempo.getCode() para recuperar información sobre la última tecla presionada. mouseUpLa keyDown ■ La acción se inicia cuando se presiona una tecla.hasStylus es true.capabilities.Controlador onClipEvent onClipEvent(movieEvent:Object) { // your statements here } Activa acciones definidas para una determinada instancia de un clip de película.

Funciones globales 55 .text = "X:"+_root. Controlador on Función ord ord(character) : Number Desfasada desde Flash Player 5.getCode() == Key. 22). _ymouse (propiedad MovieClip. Esta función está desfasada y en su lugar deben utilizarse los métodos y propiedades de la clase String.prevFrame(). si la tecla pulsada coincide con la propiedad Key. la cabeza lectora se enviará al fotograma anterior. } Véase también Key. El script siguiente utiliza Key. coords_txt.getCode() para averiguar qué tecla ha pulsado el usuario. this. } else if (Key. si la tecla pulsada coincide con la propiedad Key.LEFT) { this._xmouse). Convierte caracteres en números de código ASCII.RIGHT) { this. la cabeza lectora se enviará al siguiente fotograma.getNextHighestDepth().Ejemplo El ejemplo siguiente utiliza onClipEvent() con el evento de película keyDown y está diseñado para asociarse a un clip de película o a un botón. } onClipEvent (mouseMove) { coords_txt.LEFT. Las propiedades xmouse e ymouse realizan un seguimiento de la posición del ratón cada vez que éste se mueve._ymouse). 0.createTextField("coords_txt". coords_txt. Parámetros character:String .Y:"+_root.nextFrame().autoSize = true. 0.RIGHT. } } El ejemplo siguiente utiliza onClipEvent() con los eventos de película load y mouseMove._parent. onClipEvent (load) { this. _xmouse (propiedad MovieClip._ymouse. 100. onClipEvent (keyDown) { if (Key. El evento de película keyDown suele emplearse con uno o varios métodos o propiedades del objeto Key._parent. Dicha posición aparece en el campo de texto que se crea en tiempo de ejecución.selectable = false.El carácter que se va a convertir en un número del código ASCII.getCode() == Key._xmouse+".

Se ignoran los espacios en blanco que preceden a los enteros válidos.charCodeAt) Función parseFloat parseFloat(string:String) : Number Convierte una cadena en un número de coma flotante. Ejemplo Los ejemplos siguientes utilizan la función parseFloat() para evaluar distintos tipos de números: trace(parseFloat("-2")).5e6")). // salida: -2 trace(parseFloat("2. y devuelve los números en una cadena hasta que se alcanza un carácter que no forma parte del número inicial. Parámetros string:String .Valor devuelto Number . La función lee. parseFloat() devuelve NaN.5")).5 trace(parseFloat("3. Véase también String. // salida: 0 Véase también Constante NaN.5 trace(parseFloat("2. Función parseInt 56 Elementos del lenguaje ActionScript . // salida: 3. // salida: 2. pues se trata de caracteres no numéricos finales.Un número o NaN (no es un número).El número del código ASCII del carácter especificado.Cadena que se va a leer y convertir en un número de coma flotante.75math")). // salida: 3500000 trace(parseFloat("foobar")). charCodeAt (método String. // salida: 2. Si la cadena no empieza con un número que pueda analizarse. Valor devuelto Number . o analiza.75 trace(parseFloat("0garbage")). // salida: NaN trace(parseFloat("3.5")).

16) El ejemplo siguiente muestra una conversión binaria y devuelve 10. Parámetros expression:String radix:Number . Valor devuelto Number . 2) Funciones globales 57 . Ejemplo Los ejemplos de esta sección utilizan la función parseInt() para evaluar distintos tipos de números. que es la representación decimal del 1010 binario: parseInt("1010".Entero que representa la base (radix) del número que se va a analizar.Un número o NaN (no es un número). pues se trata de caracteres no numéricos finales.5") El ejemplo siguiente devuelve NaN: parseInt("bar") El ejemplo siguiente devuelve 4: parseInt("4foo") El ejemplo siguiente muestra una conversión hexadecimal que devuelve 1016: parseInt("0x3F8") El ejemplo siguiente muestra una conversión hexadecimal que utiliza el parámetro opcional radix y devuelve 1000: parseInt("3E8". Los enteros que empiezan con 0 o que especifican una base de 8 se interpretan como números octales. Las cadenas que empiezan con 0x se interpretan como números hexadecimales. radix:Number]) : Number Convierte una cadena en un entero. Se ignoran los espacios en blanco que preceden a los enteros válidos. El ejemplo siguiente devuelve 3: parseInt("3.Cadena que se va a convertir en un entero.Función parseInt parseInt(expression:String [. la función devuelve NaN. Si la cadena especificada en los parámetros no puede convertirse en un número. [opcional] . Los valores válidos van de 2 a 36.

Véase también Función gotoAndPlay. this.stop_mc. La reproducción se reanuda cuando se hace clic en la instancia play_mc. gotoAndPlay (método MovieClip. }. El código ActionScript detiene la reproducción del archivo SWF cuando se hace clic en la instancia de clip de película stop_mc.gotoAndPlay) Función prevFrame prevFrame() : Void Envía la cabeza lectora al fotograma anterior. }. this.onRelease = function() { play(). 8) Véase también Constante NaN. Función parseFloat Función play play() : Void Mueve la cabeza lectora hacia delante en la línea de tiempo.play_mc. 58 Elementos del lenguaje ActionScript . Si el fotograma actual es el fotograma 1. Ejemplo En el ejemplo siguiente hay dos instancias de clip de película en el escenario con los nombres stop_mc y play_mc. la cabeza lectora no se mueve. trace("frame 1").onRelease = function() { stop(). que es la representación decimal del 777 octal: parseInt("0777") parseInt("777".Los ejemplo siguientes muestran análisis de números octales y devuelven 511.

myBtn_btn.Un entero. Esta función está desfasada y en su lugar debe utilizarse Math.Ejemplo Cuando el usuario hace clic en un botón llamado myBtn_btn y se inserta el código ActionScript siguiente en un fotograma de la línea de tiempo para ese botón. Ejemplo El uso siguiente de random() devuelve un valor de 0. la cabeza lectora se envía al fotograma anterior: stop(). Funciones globales 59 . Parámetros value:Number .random(). 3 ó 4: random(5). Véase también Función nextScene Función random random(value) : Number Desfasada desde Flash Player 5. 1. this. Valor devuelto Number .prevFrame) Función prevScene prevScene() : Void Envía la cabeza lectora al fotograma 1 de la escena anterior. prevFrame (método MovieClip.onRelease = function(){ prevFrame(). Véase también Función nextFrame.Un entero aleatorio. Devuelve un entero aleatorio entre 0 y uno menos que el entero especificado en el parámetro value. }. 2.

newClip_mc.removeMovieClip). myClip_mc. duplicateMovieClip (método MovieClip. MovieClip. Las imágenes se cargan en ambos clips de película._x = 200.random) Función removeMovieClip removeMovieClip(target:Object) Elimina el clip de película especificado. Véase también Función duplicateMovieClip.com/flash/images/image1.createEmptyMovieClip("myClip_mc".La ruta de destino de una instancia de clip de película creada con o el nombre de instancia de un clip de película creada con MovieClip.Véase también random (método Math. createEmptyMovieClip (método MovieClip. Parámetros . Cuando se hace clic en un botón.com/flash/images/ image1. target:Object duplicateMovieClip() Ejemplo El ejemplo siguiente crea un clip de película nuevo llamado myClip_mc y lo duplica.button_mc.duplicateMovieClip() o MovieClip.jpg"). this.getNextHighestDepth()).attachMovie().helpexamples.createEmptyMovieClip().onRelease = function() { removeMovieClip(this.loadMovie("http://www. }. this. this. newClip_mc. "newClip_mc".helpexamples.jpg")._parent. attachMovie (método MovieClip.duplicateMovieClip).myClip_mc. removeMovieClip (método MovieClip. this. button_mc.attachMovie). el clip de película duplicado se elimina del escenario. El segundo clip de película se llama newClip_mc.getNextHighestDepth()).loadMovie("http://www.newClip_mc).createEmptyMovieClip) 60 Elementos del lenguaje ActionScript . duplicateMovieClip(this.

paramN]) : Number setInterval(objectName:Object. Puede utilizar una función de intervalo para actualizar las variables desde una base de datos o para actualizar la visualización del tiempo.Un método de objectName . Si interval es superior a la velocidad de fotogramas del archivo SWF. . param2.Objeto que contiene el método methodName. Nota:en Flash Lite 2.Función setInterval setInterval(functionName:Object.param2.Tiempo en milisegundos entre llamadas al parámetro functionName o [opcional] . deben ir separados por comas: param1. 1000). interval:Number [. param1:Object. methodName:String.. de este modo se reduce el impacto cada vez que se actualice la pantalla..... interval:Number [. objectName:Object methodName:String Valor devuelto Number .. }. el evento se llama en el siguiente fotograma una vez transcurrido el intervalo.. param:Object . setInterval(function(){ trace("interval called").Un entero que identifica que se puede pasar a clearInterval() para cancelar el intervalo.Nombre de función o referencia a una función anónima. param2.. param1:Object.paramN . un método o un objeto en intervalos periódicos durante la reproducción de un archivo SWF.000 milisegundos (1 segundo). Si el intervalo es superior a la velocidad de fotogramas del archivo SWF. . . .0. Funciones globales 61 . la función de intervalo sólo se llamará cada vez que la cabeza lectora entre en un fotograma. el intervalo pasado a este método se omite si es inferior a la velocidad de fotogramas del archivo SWF y la función de intervalo se llama sólo en el intervalo de la velocidad de fotogramas del archivo SWF.. Ejemplo Sintaxis 1: El ejemplo siguiente llama a una función anónima cada 1.Parámetros pasados al parámetro functionName o methodName. Cuando hay varios parámetros. Parámetros functionName:Object interval:Number methodName. . paramN]) : Number Llama a una función.

Por ejemplo. "interval called"). Elimine siempre la función setInterval() utilizando clearInterval() cuando haya terminado de utilizarlo. } function callback2(arg) { trace(arg). "interval function called"). obj = new Object(). 1000. Sintaxis 3: Este ejemplo utiliza un método de un objeto.onLoadInit = function(target_mc:MovieClip) { trace("start interval"). } setInterval(obj. tal como se muestra en el siguiente ejemplo: // crea un objeto de detector de eventos para nuestra instancia MovieClipLoader var listenerObjectbject = new Object(). */ 62 Elementos del lenguaje ActionScript . La segunda llamada a setInterval() pasa la cadena "interval called" a la función callback2() como un parámetro. /* una vez cargado el clip de película de destino. no se eliminará ninguna función setInterval() que se ejecute dentro de él. que contiene una sentencia trace(). obj. Cuando se trabaja con esta función.Sintaxis 2: El siguiente ejemplo define dos controladores de eventos y llama a cada uno de ellos. "interval". obj2 = new Object(). "interval". obj2.000 ms (1 segundo) y se llama a la función intervalFunc. 1000). cuando se elimina un clip de película del archivo SWF. La primera llamada a setInterval() llama a la función callback1(). } setInterval(obj2. } setInterval(callback1. "interval". 1000. listenerObject. Se debe utilizar el segundo formulario de la sintaxis setInterval() para llamar al método de un objeto. Se debe utilizar esta sintaxis si se desea llamar a un método definido para un objeto.interval = function(s) { trace(s). se crea una función callback que se ejecuta cada 1.interval = function() { trace("interval function called"). 1000. setInterval(callback2. function callback1() { trace("interval called"). "interval function called"). tal como se muestra en el siguiente ejemplo: setInterval(obj2. 1000). se debe tener cuidado con la memoria que se utiliza en un archivo SWF.

cree un archivo llamado User. this. jpeg_mcl. añada el siguiente código ActionScript al fotograma 1: var me:User = new User("Gary").username = param_username. this. Para un archivo FLA con un botón llamado deleteUser_btn.createEmptyMovieClip("jpeg_mc". 1000. } function traceUsername(str:String) { Funciones globales 63 . // elimina el clip de película de destino removeMovieClip(this). La función setInterval()no tiene acceso a los miembros de la clase si no se utiliza la palabra clave.loadClip("http://www. clearInterval(this. */ target_mc.onRelease = function() { trace("clear interval").getNextHighestDepth())). "+param_username). this. target_mc). Esto se ilustra en el siguiente ejemplo.helpexamples. clearInterval(me. se borra el intervalo y se elimina el clip de película.myInterval = setInterval(intervalFunc.onRelease = function() { trace("Goodbye. Si trabaja con setInterval() dentro de las clases. jpeg_mcl.username). var username:String. function intervalFunc(target_mc) { // muestra un mensaje sin importancia en el que se indica el nombre de la instancia y texto arbitrario. delete me.as en el mismo directorio que el archivo FLA.intervalID = setInterval(this. }. }. /* cuando se hace clic en el clip de película de destino (y se suelta).myInterval). this. 1000. Introduzca el código ActionScript siguiente: class User { var intervalID:Number. A continuación. this.com/flash/images/image1.deleteUser_btn. this. "+me.username). la función seguirá llamándose a sí misma cada segundo.addListener(listenerObject). function User(param_username:String) { trace("Welcome."). necesitará asegurarse de que utiliza la palabra clave this cuando llame a la función.intervalID). } var jpeg_mcl:MovieClipLoader = new MovieClipLoader(). }. incluso si la instancia del clip de película ya no está presente.target_mc. "traceUsername". trace(target_mc+" has been loaded for "+getTimer()/1000+" seconds.jpg".. Si no se borra el intervalo antes de eliminar el clip de película.

20).loadMovie("http://www.Ruta al nombre de instancia del clip de película cuya propiedad va a .params_mc. this.com/flash/images/image1. _x. property:Object. Se establecen las coordenadas _x e _y para el clip utilizando setProperty(). _y. setProperty(this. 999). la coordenada _x de un clip de película llamado params_mc se incrementa en 20 píxeles.").right_btn.Propiedad que va a establecerse. _x)+20).onRelease = function() { setProperty(params_mc. Parámetros target:Object . expression:Object) : Void Cambia un valor de propiedad de un clip de película durante la reproducción del clip de película.trace(this. property:Object expression:Object . Cuando se hace clic en el botón llamado right_btn. Véase también Función getProperty 64 Elementos del lenguaje ActionScript .jpg").helpexamples. setProperty(this. }.createEmptyMovieClip("params_mc". getProperty(params_mc.El nuevo valor literal de la propiedad o una ecuación que da como resultado el nuevo valor de la propiedad. establecerse. _x. 20).params_mc.username+" is "+getTimer()/1000+" seconds old. happy birthday. } } Véase también Función clearInterval Función setProperty setProperty(target:Object. Ejemplo El código ActionScript siguiente crea un clip de película nuevo y carga una imagen en él. params_mc. this.

var pic_mcl:MovieClipLoader = new MovieClipLoader(). _droptarget (propiedad MovieClip.right.Ruta de destino del clip de película que se va a arrastrar. pic_mcl.addListener(listenerObject).onRelease = function() { stopDrag(). que especifican un rectángulo limitado para el clip de película.createEmptyMovieClip("pic_mc". target_mc. Véase también Función stopDrag. Ejemplo El ejemplo siguiente crea un clip de película._droptarget). Parámetros target:Object lock:Boolean .com/flash/images/image1. en tiempo de ejecución que los usuarios pueden arrastrar a cualquier ubicación asociando las acciones startDrag() y stopDrag() al clip de película. [opcional] .getNextHighestDepth())). this. listenerObject. pic_mcl. left. top:Number. bottom:Number]) : Void Permite arrastrar el clip de película target durante la reproducción de la película. Sólo un clip de película puede arrastrarse al mismo tiempo.Función startDrag startDrag(target:Object [. pic_mc.hasStylus es true. left:Number. var listenerObject:Object = new Object().onLoadInit = function(target_mc) { target_mc.jpg".capabilities. right:Number. Nota: este evento se admite en Flash Lite sólo si System.helpexamples.Valor booleano que especifica si el clip de película arrastrable está bloqueado en el centro de la posición del ratón (true) o en el punto donde el usuario hizo clic por primera vez en el clip de película (false).hasMouse es true o System. }.loadClip("http://www. }. todavía es posible arrastrar el clip de película hasta que se detenga de forma explícita mediante stopDrag() o hasta que se llame a una acción startDrag()) de otro clip de película. startDrag (método MovieClip. this.top. }. lock:Boolean.onPress = function() { startDrag(this).bottom:Number [opcional] .capabilities. Tras ejecutar la operación startDrag().Valores relativos a las coordenadas del elemento principal del clip de película.startDrag) Funciones globales 65 . Se carga una imagen en pic_mc empleando la clase MovieClipLoader.

0. this. this. Se reanudará la reproducción de los sonidos que deben transmitirse mientras la cabeza lectora se mueve sobre los fotogramas donde se encuentran." + this. Véase también Función gotoAndStop.id3.position/1000).onRelease = function() { /* obtiene los valores actuales de desplazamiento.onID3 = function() { songinfo_txt.mp3".songname. bg_sound. */ var numSecondsOffset:Number = (bg_sound.album + " . Stage.id3. Se crea una instancia nueva del objeto Sound y se carga el MP3 en el archivo SWF."). La información ID3 se extrae del archivo de sonido.play_mc.id3) { trace(prop+" = "+this. 22).width. la canción se reanuda desde la posición en pausa. true). gotoAndStop (método MovieClip. El uso más común de esta acción es controlar clips de película mediante botones. for (prop in this.track + " .id3[prop]). 66 Elementos del lenguaje ActionScript .id3.getNextHighestDepth.createTextField("songinfo_txt". }.start(numSecondsOffset).Función stop stop() : Void Detiene el archivo SWF que se está reproduciendo. bg_sound. bg_sound. 0." + this. Ejemplo El código siguiente crea un archivo de texto en el que aparece información ID3 sobre la canción.loadSound("yourSong.text = "(" + this.id3. se hace una pausa en el sonido. var bg_sound:Sound = new Sound(). this. Si detiene todos los sonidos y hace clic en el botón de reproducción.artist + ") " + this. el archivo MP3 continuará desde el punto en el que se detuvo.gotoAndStop) Función stopAllSounds stopAllSounds() : Void Detiene todos los sonidos que se están reproduciendo en un archivo SWF sin detener la cabeza lectora. en lugar de iniciarse de nuevo desde el principio. Cuando el usuario hace clic en play_mc. Cuando el usuario hace clic en stop_mc. } trace("ID3 loaded.

■ Funciones globales 67 .hasMouse es true o System. }.onRelease = function() { stopAllSounds().capabilities. } my_mc.stopDrag) Función String String(expression:Object) : String Devuelve una representación de cadena del parámetro especificado. Véase también Sound Función stopDrag stopDrag() : Void Detiene la operación de arrastre actual. stopDrag (método MovieClip. detiene la acción de arrastre en la instancia de clip de película my_mc cuando el usuario suelta el botón del ratón: my_mc. startDrag (método MovieClip.hasStylus es true.stop_mc. Ejemplo El código siguiente._droptarget).onPress = function () { startDrag(this). _droptarget (propiedad MovieClip. this. la cadena devuelta es una representación de texto del número. } Véase también Función startDrag. Si expression es una cadena.}. tal y como se describe en la siguiente lista: ■ Si expression es un número. la cadena devuelta es expression.startDrag).onRelease = function() { stopDrag().capabilities. situado en la línea de tiempo principal. Nota: este evento se admite en Flash Lite sólo si System.

■ ■ Si expression es undefined.toString() si no existe la propiedad.Una cadena. Si expression es un valor booleano.toString). el valor devuelto es una cadena que representa el objeto generado al llamar a la propiedad de cadena del objeto o al llamar a Object. el valor devuelto es la ruta de destino del clip de película en notación con barras (/). Parámetros expression:Object . el resultado es una cadena vacía (""). trace(string1+string2). el valor devuelto es "true" o "false". Si expression es un clip de película. el resultado es undefined. Operador delimitador de cadena (") 68 Elementos del lenguaje ActionScript . Ejemplo En el ejemplo siguiente.0 no admite la notación con barras. En los archivos publicados para Flash Player 7 o versiones posteriores.toString). var string2:String = String("9"). String. En los archivos publicados para Flash Player 6 o versiones anteriores. toString (método Object. utilice ActionScript para convertir expresiones especificadas en una cadena: var string1:String = String("3"). los valores se concatenan en lugar de añadirse.■ Si expression es un objeto. Véase también toString (método Number. los valores devueltos son los siguientes: ■ ■ Nota: ActionScript 2. Valor devuelto String .Expresión para convertir en una cadena. // salida: 39 Dado que ambos parámetros son cadenas.

substr) Función targetPath targetpath(targetObject:Object) : String Devuelve una cadena que contiene la ruta de destino de MovieClip. Button o TextField. Valor devuelto String . Esta función está desfasada y en su lugar debe utilizarse String. utilice la propiedad _target.El número de caracteres que se va a incluir en la cadena extraída.La cadena de la que se va a extraer la nueva cadena. Esta función se basa en uno. Para devolver la ruta de destino se utiliza la notación con puntos (.Referencia (por ejemplo. .La subcadena extraída. Button o TextFieldobject. Extrae parte de una cadena.El número del primer carácter que se va a extraer. mientras que los métodos del objeto String se basan en cero.Función substring substring("string". Para recuperar la ruta de destino en notación con barras (/). Funciones globales 69 . excluido el carácter de índice.substr(). Véase también substr (método String. Parámetros targetObject:Object .). count) : String Desfasada desde Flash Player 5. Valor devuelto String . . Puede ser un objeto MovieClip. index. Parámetros string:String index:Number count:Number .Cadena que contiene la ruta de destino del objeto especificado. _root o _parent) al objeto para el que se recupera la ruta de destino.

También puede hacer que los clips de película pasen a un determinado fotograma de ese clip.createEmptyMovieClip("myClip_mc". Aplica las instrucciones especificadas en el parámetro statements a la línea de tiempo especificada en el parámetro target. La acción tellTarget resulta útil para los controles de navegación. Puede utilizar la acción with para emitir múltiples acciones en la misma línea de tiempo. puede utilizar la notación de puntos (. Por ejemplo.) y la sentencia with. Puede utilizar la acción with para referirse a cualquier objeto.Ejemplo El ejemplo siguiente realiza un seguimiento de la ruta de destino de un clip de película en cuanto se carga: this.getNextHighestDepth()).Una cadena que especifica la ruta de destino de la línea de tiempo que se va .) en lugar de la acción tellTarget. Asigne tellTarget a botones que detengan o inicien clips de película en otros lugares del escenario. Adobe recomienda el uso de notación con puntos (. } Desfasada desde Flash Player 5. statement(s):Object 70 Elementos del lenguaje ActionScript . Parámetros target:String .Instrucciones que se ejecutarán si la condición es true. trace(targetPath(myClip_mc)). puede asignar tellTarget a botones que detienen o inician clips de película en el escenario o que hacen que clips de película pasen a un determinado fotograma. a controlar.myClip_mc Véase también Función eval Función tellTarget tellTarget("target") { statement(s). this. // _level0. En Flash 5 o versiones posteriores. mientras que la acción tellTarget sólo puede referirse a clips de película.

_alpha = 15. } } Véase también Sentencia with Función toggleHighQuality toggleHighQuality() Desfasada desde Flash Player 5. Esta función está desfasada y en su lugar debe utilizarse _quality. tellTarget indica a la cabeza lectora en ball que pase al fotograma 2.gotoAndPlay(2). donde comienza la animación: on (release) { tellTarget("_parent. } } El ejemplo siguiente utiliza la notación de puntos (.) para conseguir los mismos resultados: on (release) { _parent.ball) { gotoAndPlay(2). Activa y desactiva el suavizado en Flash Player. Cuando se hace clic en el botón con la acción siguiente. El suavizado alisa los bordes de los objetos y ralentiza la reproducción del SWF.Ejemplo Esta sentencia tellTarget controla la instancia del clip de película ball en la línea de tiempo principal. _xscale = 50.ball") { gotoAndPlay(2). El fotograma 1 de la instancia ball está en blanco y tiene una acción stop() para que no sea visible en el escenario. Funciones globales 71 . } Si necesita emitir múltiples comandos a la instancia ball. _yscale = 50. Esta acción afecta a todos los archivos SWF de Flash Player. puede emplear la acción with.ball. como se muestra en la sentencia siguiente: on (release) { with(_parent.

activa o desactiva el suavizado: on (release) { toggleHighQuality(). el valor del parámetro expression se muestra en el panel Salida.createTextField("error_txt". Ejemplo El ejemplo siguiente utiliza una sentencia trace() para mostrar en el panel Salida los métodos y propiedades del campo de texto creado dinámicamente que se llama error_txt: this. Parámetros expression:Object . for (var i in error_txt) { trace("error_txt. Utilice el parámetro expression para comprobar si existe una condición o para mostrar valores en el panel Salida. La sentencia evalúa la expresión y muestra el resultado en el panel Salida en modo de prueba. Cuando se abre un archivo SWF en la herramienta de edición Flash (mediante el comando Probar película). } Véase también Propiedad _highquality. 0. cuando se hace clic en él."+i+" = "+error_txt[i]).Expresión que se va a evaluar.Ejemplo El código siguiente puede aplicarse a un botón que. Propiedad _quality Función trace trace(expression:Object) Puede usar el Reproductor de depuración de Flash para capturar la salida de la función trace() y escribir dicha salida en el archivo de registro. this. 100. 22).styleSheet = undefined error_txt. Puede utilizar el comando Omitir acciones de trazado del cuadro de diálogo Configuración de publicación para eliminar acciones trace() del archivo SWF exportado. Utilice esta sentencia para registrar las notas de programación o para mostrar mensajes en el panel Salida mientras prueba un archivo SWF.getNextHighestDepth(). La sentencia trace() es similar a la función alert de JavaScript. } /* salida: error_txt. 0.mouseWheelEnabled = true 72 Elementos del lenguaje ActionScript .

Para descargar un clip de película cargado mediante loadMovieNum(). var unescapedEmail:String = unescape(escapedEmail). user@somedomain.maxscroll = 1 error_txt. Funciones globales 73 . trace(unescapedEmail). Valor devuelto String . error_txt. descodifica la cadena con formato URL codificado (convirtiendo todas las secuencias hexadecimales en caracteres ASCII) y devuelve la cadena.Cadena con secuencias hexadecimales que se van a interpretar literalmente.com Función unloadMovie unloadMovie(target:MovieClip) : Void unloadMovie(target:String) : Void Elimina un clip de película que se cargó mediante loadMovie() desde Flash Player.Cadena descodificada de un parámetro URL codificado.condenseWhite = false . Parámetros string:String .com".scroll = 1 */ Función unescape unescape(x:String) : String Evalúa el parámetro x como una cadena. trace(escapedEmail).error_txt.. Ejemplo El ejemplo siguiente muestra el proceso de conversión de escape en unescape: var email:String = "user@somedomain. use unloadMovieNum() en lugar de unloadMovie().. trace(email). El resultado siguiente se muestra en el panel Salida.com user%40somedomain%2Ecom user@somedomain. var escapedEmail:String = escape(email).

use unloadMovie() en lugar de unloadMovieNum(). }. Véase también loadMovie (método MovieClip.com/flash/images/image1.Nivel (_level N) de una película cargada.onRelease = function() { unloadMovie(pic_mc).createEmptyMovieClip("pic_mc".loadMovie().addListener(listenerObject). Este parámetro puede ser una cadena (por ejemplo. unloadClip (método MovieClipLoader. pic_mcl. Ejemplo El ejemplo siguiente crea un clip de película nuevo llamado pic_mc y carga una imagen en él. el clip de película se descarga del archivo SWF: var pic_mcl:MovieClipLoader = new MovieClipLoader(). }.getNextHighestDepth())).loadMovie).onLoadInit = function(target_mc) { target_mc. listenerObject. my_mc). pic_mcl. Cuando se hace clic en la imagen. */ //unloadMovie(this). "my_mc") o una referencia directa a la instancia de clip de película (por ejemplo.Ruta de destino de un clip de película.jpg". /* o podría utilizar lo siguiente. Parámetros level:Number . this. var listenerObject:Object = new Object().unloadClip) Función unloadMovieNum unloadMovieNum(level:Number) : Void Elimina un archivo SWF o una imagen que se cargó mediante loadMovieNum() desde Flash Player. Se carga utilizando la clase MovieClipLoader. this. que se refiere al clip de película al que 'target_mc' hace referencia. 74 Elementos del lenguaje ActionScript . Para descargar un SWF o imagen cargados con MovieClip.Parámetros target .helpexamples.loadClip("http://www. Los parámetros que pueden aceptar más de un tipo de datos se engloban en el tipo Object.

capabilities. 1).version. Por ejemplo. loadMovieNum("yourimage.0. Resumen de propiedades globales Modificadores Propiedad $version Descripción Desfasada desde Flash Lite Player 2. unload_btn. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. _cap4WayKeyAS Propiedades globales 75 .Ejemplo El ejemplo siguiente carga una imagen en un archivo SWF.capabilities.loadMovie) Propiedades globales Las propiedades globales están disponibles en cada script y son visibles en todas las líneas de tiempo y ámbitos del documento. la calidad de la reproducción y el tamaño de búfer de sonido.jpg". arriba y abajo. puede utilizar las propiedades globales para ajustar la configuración en tiempo de ejecución como la accesibilidad del lector de pantalla. Función unloadMovie. } Véase también Función loadMovieNum. Indica si Flash Lite ejecuta expresiones ActionScript asociadas a controladores de eventos de las teclas de flecha derecha. Desfasada desde Flash Lite Player 2. loadMovie (método MovieClip. Contiene el número de versión de Flash Lite.onRelease = function() { unloadMovieNum(1). Cuando se hace clic en unload_btn se elimina el contenido cargado.0.has4WayKeyAS. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Además. tanto relativos (_parent) como absolutos (_root). izquierda. las propiedades globales permiten acceder a las líneas de tiempo de otros clips de película cargados. También permiten restringir (this) o ampliar (super) el ámbito.

hasEmail.capabilities. Indica si la aplicación host puede cargar dinámicamente datos adicionales mediante llamadas a las funciones loadMovie(). Indica si el cliente de Flash Lite puede enviar mensajes de correo electrónico utilizando el comando GetURL() de ActionScript. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.0.0. Indica si el dispositivo puede reproducir datos de sonido en formato de audio MFi (Melody Format for i-mode. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Desfasada desde Flash Lite Player 2. Indica si Flash Lite puede procesar datos de sonido compuestos. loadMovieNum(). Desfasada desde Flash Lite Player 2.hasDataLoading.hasMFi. Indica si el dispositivo puede reproducir datos de sonido en formato de audio MIDI (Musical Instrument Digital Interface. Desfasada desde Flash Lite Player 2. Desfasada desde Flash Lite Player 2. Interfaz Digital de Instrumentos Musicales). Formato de melodía para i-mode(tm)).0.0.hasCompoundSound.hasMIDI.capabilities. _capEmail _capLoadData _capMFi _capMIDI 76 Elementos del lenguaje ActionScript .capabilities. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.Modificadores Propiedad _capCompoundSound Descripción Desfasada desde Flash Lite Player 2. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. loadVariables() y loadVariablesNum(). Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.capabilities.capabilities.0.

_capSMAF _capSMS _capStreamSound _focusrect _forceframerate _global Propiedades globales 77 . Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Referencia al objeto global que aloja las clases principales de ActionScript.hasSMS. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. En caso afirmativo.0. Indica si el dispositivo puede reproducir archivos multimedia en formato SMAF (Synthetic music Mobile Application Format. esta variable se define con el valor 1. Servicio de mensajería multimedia) utilizando el comando GetURL() de ActionScript.0. En caso afirmativo. será undefined. Object. como String.Modificadores Propiedad _capMMS Descripción Desfasada desde Flash Lite Player 2.capabilities. Propiedad (global). Math y Array. Indica si Flash Lite puede enviar mensajes MMS (Multimedia Messaging Service.hasSMAF. Indica al reproductor Flash Lite que represente a la velocidad de fotogramas especificada. Desfasada desde Flash Lite Player 2. Indica si el dispositivo puede reproducir sonido sin interrupción (sincronizado).capabilities. en caso contrario.hasMMS.capabilities. Formato de Aplicación Móvil de Música Sintética). especifica si aparece un rectángulo amarillo alrededor del botón o clip de película que se selecciona con el teclado.capabilities. será undefined.0. Indica si Flash Lite puede enviar mensajes SMS (Short Message Service. Desfasada desde Flash Lite Player 2. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Servicio de mensajes cortos) utilizando el comando GetURL() de ActionScript. esta variable se define con el valor 1. Desfasada desde Flash Lite Player 2.hasStreamingAudio. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. en caso contrario.0.

Establece o recupera la calidad de representación que se utiliza para un clip de película. Esta propiedad está desfasada y en su lugar debe utilizarse TextField. Indica el número de la línea superior de texto visible en un campo de texto cuando la línea inferior del campo también está visible. Esta propiedad está desfasada y en su lugar debe utilizarse _quality. Especifica el nivel de visualización suavizada que se aplica al archivo SWF actual. Controla la visualización de información en un campo de texto asociado a una variable.maxscroll.Modificadores Propiedad _highquality Descripción Desfasada desde Flash Player 5.scroll. Esta propiedad está desfasada y en su lugar debe utilizarse TextField. Establece el número de segundos para que se almacene en el búfer el flujo de sonido. Referencia a la línea de tiempo raíz de _levelN. Desfasada desde Flash Player 5. Especifica o devuelve una referencia a la línea de tiempo del clip de película raíz. Desfasada desde Flash Player 5. Especifica o devuelve una referencia al clip de película u objeto que contiene el clip de película u objeto actual. _level maxscroll _parent _quality _root scroll _soundbuftime this 78 Elementos del lenguaje ActionScript . Hace referencia a una instancia de clip de película u objeto.

Flash Lite buscará primero un controlador para dicha tecla. arriba y abajo. 2. el siguiente código establece el valor de myVersion en "5.0. un número inferior.1. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.x es 5. Contiene un número superior. Esta variable está definida y tiene un valor de 1 sólo cuando la aplicación host utiliza el modo de navegación en cuatro direcciones para cambiar entre los controles de Flash (botones y campos de introducción de texto). Por ejemplo. izquierda. Variable numérica. El número principal que tienen todos los productos Flash Lite 1. que suele ser 0 en todas las versiones publicadas.capabilities. no se produce la navegación correspondiente a esa tecla. el usuario no puede navegar.0.has4WayKeyAS. Ejemplo En el reproductor Flash Lite 1.capabilities. Véase también version (propiedad capabilities.version. si se encuentra un controlador de eventos. 0": myVersion = $version.Propiedad $version $version Desfasada desde Flash Lite Player 2. El número secundario de Flash Lite 1.1 es 2. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Sin embargo. Propiedades globales 79 . 12. Al pulsar una de las teclas de cuatro direcciones. si se encuentra un controlador de tecla presionada para la tecla de flecha abajo. el de Flash Lite 1. se produce la navegación en Flash. Si no lo encuentra.version) Propiedad _cap4WayKeyAS _cap4WayKeyAS Desfasada desde Flash Lite Player 2. si el valor de la variable _cap4WayKeyAS es 1.0 es 1. Variable de cadena. un número de versión y un número de versión interno. indica si Flash Lite ejecuta expresiones ActionScript vinculadas a controladores de eventos asociados a las teclas de flecha derecha. contiene el número de versión de Flash Lite. no está definida (undefined). En caso contrario.

the 8 key to scroll down. indica si Flash Lite puede procesar datos de sonido compuesto. Esta variable define si el reproductor de Flash Lite admite esta función en el teléfono actual. pero lo deja como undefined en Flash Lite 1.1.1. por lo que este código depende del teléfono): canUse4Way = _cap4WayKeyAS.Ejemplo El siguiente ejemplo establece canUse4Way en 1 en Flash Lite 1. Véase también capabilities (System. no todos los teléfonos con Flash Lite 1. pero queda como undefined en Flash Lite 1.hasCompoundSound. Variable numérica. será undefined. if (canUse4Way == 1) { msg = "Use your directional joypad to navigate this application". En caso afirmativo.0. } else { gotoAndPlay("withoutSound"). Ejemplo En el siguiente ejemplo. } else { msg = "Please use the 2 key to scroll up. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. } Véase también capabilities (System. El reproductor reproducirá los datos en el formato que admita el dispositivo. en caso contrario.capabilities) 80 Elementos del lenguaje ActionScript . esta variable se define con el valor 1.capabilities) Propiedad _capCompoundSound _capCompoundSound Desfasada desde Flash Lite Player 2. useCompoundSound se establece en 1 en Flash Lite 1.".0 (no obstante.capabilities. the 6 key to scroll right. and the 4 key to scroll left. Por ejemplo.0: useCompoundSound = _capCompoundSound. un sólo archivo Flash puede contener el mismo sonido representado en formatos MIDI y MFi.1 admiten teclas de cuatro direcciones. if (useCompoundSound == 1) { gotoAndPlay("withSound").

if (canLoad == 1) { loadVariables("http://www.0. indica si el cliente de Flash Lite puede enviar mensajes de correo electrónico utilizando el comando GetURL() de ActionScript. el siguiente ejemplo establece canEmail() en 1: canEmail = _capEmail. esta variable se define con el valor 1. esta variable es undefined.somewhere. en caso contrario. Si es así. será undefined. if (canEmail == 1) { getURL("mailto:someone@somewhere. Ejemplo Si la aplicación host puede llevar a cabo la carga dinámica de películas y variables.hasDataLoading. Variable numérica. } Véase también capabilities (System.php". Ejemplo GetURL() Si la aplicación host puede enviar mensajes de correo electrónico utilizando el comando de ActionScript.com/myVars. loadMovieNum().Propiedad _capEmail _capEmail Desfasada desde Flash Lite Player 2. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. de lo contrario. indica si la aplicación host puede cargar dinámicamente datos adicionales mediante llamadas a las funciones loadMovie(). Variable numérica. Propiedades globales 81 .capabilities. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. GET).hasEmail.capabilities) Propiedad _capLoadData _capLoadData Desfasada desde Flash Lite Player 2. En caso afirmativo. loadVariables() y loadVariablesNum(). esta variable es defined y tiene el valor 1.capabilities.0.com?subject=foo&body=bar"). el siguiente ejemplo establece CanLoad en 1: canLoad = _capLoadData.

Formato de melodía para i-mode(tm)). el siguiente ejemplo establece canMFi en 1: canMFi = _capMFi. En caso afirmativo. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.hasMFi. esta variable se define con el valor 1.0. if (canMFi == 1) { // envía los botones movieclip al fotograma con botones que activan los eventos sounds tellTarget("buttons") { gotoAndPlay(2). Variable numérica.capabilities) Propiedad _capMFi _capMFi Desfasada desde Flash Lite Player 2.} else { trace ("client does not support loading dynamic data").hasMFI) 82 Elementos del lenguaje ActionScript . será undefined. } Véase también capabilities (System. indica si el dispositivo puede reproducir datos de sonido en formato de audio MFi (Melody Format for i-mode.capabilities. } } Véase también hasMFI (propiedad capabilities. en caso contrario. Ejemplo Si el dispositivo puede reproducir datos de sonido MFi.

if (canMIDI == 1) { // envía los botones movieclip al fotograma con botones que activan los eventos sounds tellTarget("buttons") { gotoAndPlay(2). será undefined. En caso afirmativo. indica si el dispositivo puede reproducir datos de sonido en formato de audio MIDI (Musical Instrument Digital Interface. esta variable se define con el valor 1. en caso contrario. esta variable se define con el valor 1.capabilities. Ejemplo Si el dispositivo puede reproducir datos de sonido MIDI. } } Véase también capabilities (System.0. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Interfaz Digital de Instrumentos Musicales). Variable numérica. en caso contrario. indica si Flash Lite puede enviar mensajes MMS (Multimedia Messaging Service. En caso afirmativo.Propiedad _capMIDI _capMIDI Desfasada desde Flash Lite Player 2. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. será undefined.hasMMS. Variable numérica.0.capabilities. Servicio de mensajería multimedia) utilizando el comando GetURL() de ActionScript.hasMIDI. Propiedades globales 83 . el siguiente ejemplo establece _capMIDI en 1: canMIDI = _capMIDI.capabilities) Propiedad _capMMS _capMMS Desfasada desde Flash Lite Player 2.

por lo que este código depende del teléfono): canSMAF = _capSMAF. en caso contrario. no todos los teléfonos con Flash Lite 1.1 pueden enviar mensajes MMS.hasSMAF.0 (no obstante.1 pueden enviar mensajes SMAF. pero lo deja como undefined en Flash Lite 1.capabilities. no todos los teléfonos con Flash Lite 1.capabilities) Propiedad _capSMAF _capSMAF Desfasada desde Flash Lite Player 2. if (canMMS == 1) { // envía un MMS myMessage = "mms:4156095555?body=sample mms message".Ejemplo El siguiente ejemplo establece canMMS en 1 en Flash Lite 1. } getURL(myMessage). por lo que este código depende del teléfono): on (release) { canMMS = _capMMS.0 (no obstante. Formato de Aplicación Móvil de Música Sintética). En caso afirmativo.1. if (canSMAF) { // envía los botones movieclip al fotograma con botones que activan los eventos 84 Elementos del lenguaje ActionScript .1. } Véase también capabilities (System. } else { // envía un SMS myMessage = "sms:4156095555?body=sample sms message". indica si el dispositivo puede reproducir archivos multimedia en formato SMAF (Synthetic music Mobile Application Format. esta variable se define con el valor 1. será undefined. pero lo deja como undefined en Flash Lite 1. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.0. Ejemplo El siguiente ejemplo establece canSMAF en 1 en Flash Lite 1. Variable numérica.

} } Véase también capabilities (System. } } Véase también capabilities (System. será undefined.0 (no obstante. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System. Variable numérica.hasStreamingAudio. en caso contrario. indica si el dispositivo puede reproducir flujos de sonido (sincronizado). getURL(myMessage). En caso afirmativo.0.capabilities. por lo que este código depende del teléfono): on (release) { canSMS = _capSMS. no todos los teléfonos con Flash Lite 1.sounds tellTarget("buttons") { gotoAndPlay(2). En caso afirmativo. pero lo deja como undefined en Flash Lite 1.capabilities) Propiedad _capSMS _capSMS Desfasada desde Flash Lite Player 2. indica si Flash Lite puede enviar mensajes MMS (Short Message Service.capabilities) Propiedad _capStreamSound _capStreamSound Desfasada desde Flash Lite Player 2. Propiedades globales 85 .1. Servicio de mensajes cortos) utilizando el comando GetURL() de ActionScript.hasSMS. Esta acción está desfasada y en su lugar debe utilizarse la propiedad System.1 pueden enviar mensajes SMS. Ejemplo El siguiente ejemplo establece canSMS en 1 en Flash Lite 1. será undefined. esta variable se define con el valor 1. esta variable se define con el valor 1.0.capabilities. if (canSMS) { // envía un SMS myMessage = "sms:4156095555?body=sample sms message". en caso contrario. Variable numérica.

_focusrect o MovieClip.focusRect = false o MovieClip. incluida Intro y las teclas de flecha. ya que si la propiedad _focusrect se desactiva. incluido el uso de esta propiedad global. Este comportamiento ha cambiado con respecto a Flash Player. el comportamiento predeterminado para todos los botones y clips de película es que la navegación mediante el teclado se limita a la tecla Tabulador. Si la propiedad global _focusrect se establece como false. Para restaurar las funciones completas del teclado para un botón o clip de película específico. Especifica si aparece un rectángulo amarillo alrededor del botón o clip de película que se selecciona con el teclado. Nota: en el reproductor Flash Lite 2.Ejemplo El siguiente ejemplo reproduce sonido sin interrupción si canStreamSound está activado: on (press) { canStreamSound = _capStreamSound._focusrect. quedan anuladas. Es una propiedad que puede sustituirse en determinadas instancias. es preciso configurar _focusrect con el valor true. 86 Elementos del lenguaje ActionScript . Nota: si utiliza un componente. Especifique false si no desea mostrar el rectángulo amarillo. Para restablecer el desplazamiento completo con el teclado. if (canStreamSound) { // reproduce sonido sin interrupción en un objeto movieclip con este botón tellTarget("music") { gotoAndPlay(2).capabilities) Propiedad _focusrect _focusrect = Boolean. el botón o el clip de película sigue recibiendo todos los eventos. cuando se desactiva la propiedad _focusrect (por ejemplo Button. Todas las demás teclas. puede sustituir esta propiedad global empleando Button. } } Véase también capabilities (System. Si _focusrect se establece en su valor predeterminado o en true.0. el botón o el clip de película recibirá los eventos rollOver y rollOut. pero no recibirá los eventos press y release. FocusManager sustituye el control de selección de Flash Player. aparece un rectángulo amarillo alrededor del botón o clip de película actualmente seleccionado mientras el usuario presiona la tecla de tabulación para desplazarse por los objetos de un archivo SWF.focusRect = false).

el reproductor Flash Lite podría saltar la representación de ciertos fotogramas para mantener la velocidad de fotogramas. De lo contrario. Si se establece en true. esta propiedad indica al reproductor Flash Lite que represente a la velocidad de fotogramas especificada. puede crear una biblioteca que se expone como un objeto de ActionScript global. por ejemplo. Se establece en false de forma predeterminada._focusrect). Math y Array.variableName. que ocultará la variable global que se intenta establecer. se creará una variable local con el mismo nombre. siempre y cuando no queden ocultas por identificadores con los mismos nombres en ámbitos interiores. se puede cambiar el color del rectángulo de selección utilizando el comando SetFocusRectColor de la función fscommand2. Propiedades globales 87 . Propiedad _global _global. Object. Cree algunos botones o clips de película y añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: _focusrect = false. Véase también _focusrect (propiedad Button. similar al objeto Math o Date.También en Flash Lite 2. _focusrect (propiedad MovieClip.identifier Referencia al objeto global que aloja las clases principales de ActionScript. _global. lo que hace que Flash Lite lo represente con normalidad. Por ejemplo.0. Este comportamiento ha cambiado con respecto a Flash Player. Se puede utilizar esta propiedad para sonido pseudosincronizado si el contenido incluye sonido de dispositivo. A diferencia de las funciones y variables declaradas localmente o en la línea de tiempo. donde el color del rectángulo de selección únicamente puede ser amarillo._focusrect) Propiedad _forceframerate _forceframerate Si se establece en true. como String. Nota: al establecer el valor de una variable global. debe utilizarse el nombre completo de la variable. las funciones y variables globales son visibles en todas las líneas de tiempo y ámbitos del archivo SWF. Ejemplo El ejemplo siguiente muestra cómo ocultar el rectángulo amarillo alrededor de cualquier instancia en un archivo SWF cuando está seleccionada en una ventana del navegador.

myVar: " + _global. // _global. Ejemplo El ejemplo siguiente crea una función de nivel superior. factorial().=1) { return 1. // _global. como String. 88 Elementos del lenguaje ActionScript .myVar = "global". que está disponible para todas las líneas de tiempo y ámbitos en un archivo SWF: _global. } } // Nota: factorial 4 == 4*3*2*1 == 24 trace(factorial(4)). Math y Array.factorial = function(n:Number) { if (n&lt. // salida: 24 El ejemplo siguiente muestra cómo la no utilización del nombre de variable completo cuando se establece el valor de una variable global produce resultados imprevistos: _global.myVar: " + _global. // myVar: locales Véase también Sentencia var.Valor devuelto Una referencia al objeto global que aloja las clases principales de ActionScript. Esta propiedad está desfasada y en su lugar debe utilizarse _quality. Especifique 0 (baja calidad) para evitar el suavizado. // myVar: global myVar = "local". trace("_global.myVar: global trace("myVar: " + myVar). trace("_global. Sentencia set variable Propiedad _highquality _highquality Desfasada desde Flash Player 5. } else { return n*factorial(n-1). Object. Especifica el nivel de visualización suavizada que se aplica al archivo SWF actual.myVar). Especifique 1 (alta calidad) para aplicar el suavizado. _highquality = 1. Ejemplo El siguiente código ActionScript se inserta en la línea de tiempo principal y define la propiedad de calidad global para aplicar el suavizado.myVar: global trace("myVar: " + myVar).myVar). Especifique 2 (mejor calidad) para aplicar la mejor calidad.

Esta acción envía la cabeza lectora en la línea de tiempo principal del archivo SWF en _level9 al fotograma 5 en lugar de detener la cabeza lectora.stop() en el ejemplo anterior por el código siguiente: _level9.swf que se carga en _level9. Puede asignar niveles en cualquier orden. Véase también Función loadMovie. los archivos SWF se apilan en niveles de numeraciones superiores. Debe utilizar loadMovieNum() para cargar archivos SWF en Flash Player antes de utilizar la propiedad _level para buscarlos. También puede utilizar _level _levelN para buscar un archivo SWF cargado en el nivel asignado por N.Véase también Propiedad _quality Propiedad _level _levelN Referencia a la línea de tiempo raíz de _levelN.onRelease = function(){ _level9.swapDepths) Propiedades globales 89 . Si asigna un nivel que ya contiene un archivo SWF (incluido _level0). A continuación.swf". El archivo SWF que se encuentra en _level0 establece la velocidad de fotogramas. }. swapDepths (método MovieClip. myBtn_btn. el color de fondo y el tamaño de fotograma de todos los archivos SWF que se cargan posteriormente. 9). El archivo SWF inicial cargado en la instancia de Flash Player se carga automáticamente en _level0. se descargará el archivo SWF de dicho nivel y será sustituido por el nuevo archivo SWF. Debe asignar un nivel a cada archivo SWF que cargue en Flash Player mediante loadMovieNum().stop(). Puede reemplazar _level9.gotoAndStop(5).swf contiene animación y se encuentra en el mismo directorio que el documento que contiene el siguiente ActionScript: loadMovieNum("sub. Ejemplo El ejemplo siguiente detiene la cabeza lectora en la línea de tiempo principal del archivo SWF sub. por encima del archivo SWF de _level0. El archivo sub.

}.maxscroll)._parent. El objeto actual es el que contiene el código ActionScript que hace referencia a _parent. Función targetPath 90 Elementos del lenguaje ActionScript . En ese clip de película hay otro clip de película con el nombre de instancia circle_mc. this. Indica el número de la línea superior de texto visible en un campo de texto cuando la línea inferior del campo también está visible. Utilice _parent para especificar una ruta de acceso relativa a los clips de película u objetos que se encuentran por encima del clip de película u objeto actual.scroll) Propiedad _parent _parent. Véase también maxscroll (propiedad TextField. puede resultar más fácil utilizar el botón Insertar ruta de destino en el panel Acciones en primer lugar.circle_mc.onRelease = function() { this. La propiedad maxscroll funciona con la propiedad scroll para controlar cómo aparece la información en un campo de texto.square_mc. scroll (propiedad TextField.property Especifica o devuelve una referencia al clip de película u objeto que contiene el clip de película u objeto actual. Ejemplo En el ejemplo siguiente hay dos instancias de clip de película en el escenario con el nombre square_mc. El siguiente ActionScript permite modificar la instancia principal circle_mc (que es square_mc) cuando se hace clic en el círculo._parent. pero no modificarse. Esta propiedad está desfasada y en su lugar debe utilizarse TextField._alpha -= 5.maxscroll Desfasada desde Flash Player 5.maxscroll. Cuando se trabaja con direccionamiento relativo (empleando _parent en lugar de _root). Véase también Propiedad _root.Propiedad maxscroll variable_name. Esta propiedad puede recuperarse.property _parent.

"MEDIUM" Los gráficos se suavizan Calidad de empleando una cuadrícula representación media. Este ajuste de 2 x 2 píxeles. se devuelve _level1. por consiguiente. Los gráficos se suavizan Calidad de representación alta. resulta adecuado para películas que no contengan texto.movieClip _root. Esta es la calidad de representación predeterminada de Flash. no se ven afectadas por la propiedad _quality. Suavizado de gráficos Los gráficos no se suavizan. "HIGH" Los mapas de bits no se suavizan. empleando una cuadrícula de 4 x 4 píxeles. Ejemplo El ejemplo siguiente establece la calidad de representación como LOW: _quality = "LOW". Las fuentes de dispositivo siempre se muestran dentadas y.Propiedad _quality _quality:String Establece o recupera la calidad de representación que se utiliza para un clip de película.property Especifica o devuelve una referencia a la línea de tiempo del clip de película raíz. La propiedad _quality puede configurarse con los siguientes valores: Valor "LOW" Descripción Calidad de representación baja. Especificar _root equivale a utilizar la notación con barras (/) desfasada para especificar una ruta absoluta en el nivel actual. Propiedades globales 91 .action _root. Propiedad _root _root. Por ejemplo. la línea de tiempo del clip de película raíz está en el nivel que contiene el script que se está ejecutando. si un script del nivel 1 evalúa _root. Suavizado de mapa de bits Los mapas de bits no se suavizan. Los mapas de bits no se suavizan. Si un clip de película tiene varios niveles.

Nombre de instancia de un clip de película. La propiedad scroll define dónde comienza el campo de texto a mostrar contenido. Propiedad _parent. Parámetros movieClip:String action:String . El ejemplo siguiente realiza un seguimiento de las variables e instancias en el ámbito de _root: for (prop in _root) { trace("_root. Flash Player la actualiza a medida que el usuario se desplaza por el campo de texto. } Véase también _lockroot (propiedad MovieClip.scroll = x Desfasada desde Flash Player 5. Esta propiedad está desfasada y en su lugar debe utilizarse TextField.Acción o campo."+prop+" = "+_root[prop]). después de establecerla. . Controla la visualización de información en un campo de texto asociado a una variable. Si desea asegurarse de que _root haga referencia a la línea de tiempo del clip de película cargado incluso cuando se cargue en otro clip de película. property:String Ejemplo El ejemplo siguiente detiene la línea de tiempo del nivel que contiene el script que se está ejecutando: _root.stop().scroll.Propiedad del objeto MovieClip._lockroot). 92 Elementos del lenguaje ActionScript . ._lockroot. utilice MovieClip. o para crear campos de texto con desplazamiento. _root hace referencia a la línea de tiempo del clip de película que se carga y no a la línea de tiempo que contiene _root. Esta propiedad puede recuperarse y modificarse.Nota: si un clip de película que contiene _root se carga en otro clip de película. Función targetPath Propiedad scroll textFieldVariableName. La propiedad scroll es útil para dirigir a los usuarios a un párrafo específico en un pasaje largo.

// crea campos de texto para contener la información de depuración. // carga el archivo de sonido MP3 y establece el flujo de sonido en true. 20. true). 22). this. 0.mp3".scroll) Propiedad _soundbuftime _soundbuftime:Number = integer Establece el número de segundos para que se almacene en el búfer el flujo de sonido. 0.Ejemplo El código siguiente se adjunta a un botón Arriba que desplaza el campo de texto llamado myText: on (release) { myText. 22). 100. Ejemplo El ejemplo siguiente reproduce un archivo MP3 en flujo y almacena el sonido en el búfer antes de reproducirlo para el usuario. } Véase también maxscroll (propiedad TextField.scroll + 1. _soundbuftime = 10.getNextHighestDepth().Número de segundos transcurridos antes de que se inicie la reproducción sin interrupción del archivo SWF. this.createTextField("counter_txt". El valor predeterminado es 5 segundos.getNextHighestDepth(). // establece el búfer de sonido en 10 segundos. this. 100.loadSound("yourSound. Se crea una nueva instancia de objeto Sound para el MP3. bg_sound. bg_sound. La propiedad _soundbuftime se configura para almacenar el MP3 en búfer durante 10 segundos. this.onLoad = function() { Propiedades globales 93 . Parámetros integer:Number . scroll (propiedad TextField.maxscroll).scroll = myText. 0. // crea la instancia del nuevo objeto de sonido. Se crean dos campos de texto en tiempo de ejecución para contener un temporizador e información de depuración.createTextField("debug_txt". var bg_sound:Sound = new Sound(). // se activa la función cuando finaliza la carga de la canción.

var abj:ApplyThis = new ApplyThis(). //salida: Defined in applyThis. Propiedad this this Hace referencia a una instancia de clip de película u objeto. //salida: undefined trace(obj.text++. 1000).text = 0. null)). } } Posteriormente. abj. null)).addStr. debug_txt. en un archivo FLA o AS.as /* dynamic class Simple { 94 Elementos del lenguaje ActionScript . para llamar a una función definida en una clase dinámica. debe utilizar this para invocar la función en el ámbito adecuado: // versión incorrecta de Simple. Cree ApplyThis.addStr.call(this. añada el siguiente código ActionScript: var obj:ApplyThis = new ApplyThis(). Dentro de un controlador de eventos onClipEvent() asociado a un clip de película.call(obj. Dado que this se evalúa en el contexto del script que lo contiene.str = "defined in FLA or AS".call(abj. function updateCounter() { counter_txt. Cuando se llama a un campo. this hace referencia a la instancia del clip de película que contiene el script. null)).debug_txt. Cuando se ejecuta un script. no puede utilizar this en un script para hacer referencia a una variable definida en un archivo de clase.as e introduzca el siguiente código: class ApplyThis { var str:String = "Defined in ApplyThis. } function addStr():String { return str.as". setInterval(updateCounter. } counter_txt.as Del mismo modo. function conctStr(x:String):String { return x+x. this hace referencia a la línea de tiempo que contiene el botón. this contiene una referencia al objeto que contiene el campo al que se llama. }.text = "sound init". Dentro de un controlador de eventos on() asociado a un botón. trace(obj.addStr.text = "sound loaded". //salida: defined in FLA or AS trace(obj. this hace referencia a la línea de tiempo del propio clip de película.

num = 0. la palabra clave this hace referencia al clip de película actual.as.onRelease = function() { stopDrag(). En la sentencia siguiente dentro de un controlador de MovieClip. la palabra clave this hace referencia al objeto Circle: function Circle(radius:Number):Void { this.square_mc. // salida: true Si utiliza la versión incorrecta de Simple. trace(myCircle. añada el siguiente código ActionScript: var obj:Simple = new Simple(). En la sentencia siguiente asignada a un fotograma dentro de un clip de película.func()).onPress = function() { startDrag(this). this. obj.square_mc.PI*Math. Ejemplo En el ejemplo siguiente. this. 2). } } */ // versión correcta de Simple.as dynamic class simple { function callfunc() { trace(this. }. Véase también Controlador on.onPress. // establece la propiedad alpha del clip de película actual en 20 this.callfunc(). obj. } } Dentro de un archivo FLA o AS. } var myCircle = new Circle(4). obj.radius = radius. }. la palabra clave this hace referencia al clip de película actual: this. obtendrá un error de sintaxis.function callfunc() { trace(func()).area). }.area = Math.func = function() { return true._alpha = 20. Controlador onClipEvent Propiedades globales 95 .pow(radius.

|= (asignación de OR en modo bit) 96 Elementos del lenguaje ActionScript . comparar o modificar los valores de una expresión. Asigna a expression1 el valor de expression1 | expression2. elemento de matriz o propiedad de expression1. signo y ejecuta una operación booleana AND en cada bit de los parámetros integer. Este operador ejecuta una operación de desplazamiento a la izquierda en modo bit (<<=) y almacena el contenido como un resultado en expression1. Inicializa una nueva matriz o matriz multidimensional con los elementos especificados (a0 y así sucesivamente) o accede a elementos de una matriz. = (asignación) & (AND en modo bit) Convierte expression1 y expression2 en enteros de 32 bits sin &= (asignación de AND en modo bit) << (desplazamiento a la izquierda en modo bit) Asigna a expression1 el valor de expression1& expression2.Operadores Los operadores simbólicos son caracteres que especifican cómo combinar. Asigna el valor de expression2 (el parámetro a la derecha) a la variable. Convierte expression1 y expression2 en enteros de 32 bits y desplaza todos los bits de expression1 a la izquierda el número de posiciones especificado por el entero resultante de la conversión de expression2. Asigna a expression1 el valor de expression1 + expression2. Resumen de operadores Operador + (suma) += (asignación de suma) [] (acceso a matriz) Descripción Añade expresiones numéricas o concatena (combina) cadenas. | (OR en modo bit) Convierte expression1 y expression2 en enteros de 32 bits sin signo y devuelve un 1 en cada posición de bit donde los correspondientes bits tanto de expression1 como de expression2 sean 1. <<= (asignación y desplazamiento a la izquierda en modo bit) ~ (NOT en modo bit) También conocido como operador complementario de uno u operador complementario en modo bit.

a continuación. Concatena dos o más cadenas. >>> (desplazamiento a la derecha en >>>= (asignación y desplazamiento a la derecha en modo bit sin signo) ^ (XOR en modo bit) Convierte expression1 y expression2 en enteros de 32 bits sin Ejecuta una operación de desplazamiento a la derecha en modo bit sin signo y almacena el contenido como un resultado en expression1. Operador unario de decremento previo y decremento posterior que resta 1 de expression. Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. >>= (asignación y desplazamiento a la derecha en modo bit) Igual que el operador de desplazamiento a la derecha en modo bit (>>). el operador devuelve el valor de expression2. Indica una o varias líneas de comentarios de script. salvo que no conserva el signo de la expression original porque los modo bit sin signo) bits a la izquierda se completan siempre con un 0. ^= (asignación de XOR en modo bit) /* (delimitador de comentario en bloque) .0.(decremento) Operadores 97 . Evalúa primero expression1. signo y devuelve un 1 en cada posición de bit donde los correspondientes bits de expression1 o de expression2 sean 1 (no ambos). Nota: en Flash Lite 2. expression2 y así sucesivamente. también el operador add está desfasado y en su lugar debe utilizarse el operador (+). (coma) Asigna a expression1 el valor de expression1 ^ expression2. add (suma de concatenación (cadenas)) ?: (condicional) -. Desfasado desde Flash Player 5. Este operador ejecuta una operación de desplazamiento a la derecha en modo bit y almacena el contenido como un resultado en expression1. Adobe recomienda que utilice el operador de suma (+) cuando cree contenido para Flash Player 5 o versiones posteriores.Operador >> (desplazamiento a la derecha en modo bit) Descripción Convierte expression1 y expression2 en enteros de 32 bits y desplaza todos los bits de expression1 a la derecha el número de posiciones especificado por el entero resultante de la conversión de expression2. en caso contrario devuelve el valor de expression3. Indica a Flash que evalúe expression1 y si el valor de expression1 es true.

propiedades o clips de película anidados (secundarios). si lo es. Comprueba si object es una instancia de classConstructor o una subclase de classConstructor. Compara dos expresiones y determina si expression1 es menor que expression2. en caso contrario devuelve false. en caso contrario devuelve false.Operador / (división) /= (asignación de división) . (punto) Descripción Divide expression1 por expression2. Se utiliza para navegar por las jerarquías de clips de película y acceder a variables. Asigna a expression1 el valor de expression1 / expression2. Desfasado desde Flash Player 5. Devuelve true si la representación de cadena de expression1 es igual a la representación de cadena de expression2. Prueba el contrario exacto del operador de igualdad (==). el operador devuelve true. == (igualdad) eq (igualdad (cadenas) > (mayor que) gt (mayor que (cadenas)) >= (mayor o igual que) ge (mayor o igual que (cadenas)) ++ (incremento) != (desigualdad) <> (desigualdad) instanceof < (menor que) 98 Elementos del lenguaje ActionScript . Compara dos expresiones y determina si expression1 es mayor que expression2. Prueba el contrario exacto del operador de igualdad (==). el operador devuelve true. Compara dos expresiones y determina si expression1 es mayor o igual que expression2 (true) o expression1 es menor que expression2 (false). Comprueba la igualdad de dos expresiones. Este operador está desfasado y en su lugar debe utilizarse > (mayor que). Desfasado desde Flash Player 5. Este operador está desfasado y en su lugar debe utilizarse >= (mayor o igual que). Operador unario de incremento previo e incremento posterior que añade 1 a expression. Desfasado desde Flash Player 5. Devuelve true si expression1 es mayor o igual que expression2. Compara la representación de cadena de expression1 con la representación de cadena de expression2 y devuelve true si expression1 es mayor que expression2. Desfasado desde Flash Player 5. Adobe recomienda que utilice el operador != (inequality). Este operador está desfasado. si lo es. Este operador está desfasado y en su lugar debe utilizarse == (equality). de lo contrario devuelve false.

Indica el principio de un comentario de script. and (AND lógico) ! (NOT lógico) not (NOT lógico) || (OR lógico) or (OR lógico) % (módulo) %= (asignación de módulo) * (multiplicación) *= (asignación de multiplicación) new Operadores 99 . Desfasado desde Flash Player 5. Este operador está desfasado y en su lugar debe utilizarse ! (logical NOT). Devuelve true si expression1 es menor que expression2. Adobe recomienda el uso del operador lógico AND (&&)). Evalúa expression1 (la expresión en la parte izquierda del operador) y devuelve true si la expresión da como resultado true. Asigna a expression1 el valor de expression1 * expression2. Ejecuta una operación NOT (!) lógica en Flash Player 4. Este operador está desfasado y en su lugar debe utilizarse < (menor que). <= (menor o igual que) le (menor o igual que (cadenas)) // (delimitador de comentario de línea) && (AND lógico) Ejecuta una operación booleana en los valores una de las expresiones o en ambas. toda la expresión es true. si lo es. y si alguna es true. Invierte el valor booleano de una variable o expresión. y false en caso contrario. Ejecuta una operación de AND lógica (&&) en Flash Player 4. el operador devuelve true. Este operador está desfasado y en su lugar debe utilizarse || (logical OR). Multiplica dos expresiones numéricas. y llama a la función identificada por el parámetro constructor. Desfasado desde Flash Player 5. Devuelve true si expression1 es menor o igual que expression2. Evalúa condition1 y condition2. de lo contrario devuelve false. Desfasado desde Flash Player 5. inicialmente anónimo.Operador lt (menor que (cadenas)) Descripción Desfasado desde Flash Player 5. Crea un objeto nuevo. Calcula el resto de expression1 dividido entre expression2. Asigna a expression1 el valor de expression1 % expression2. Este operador está desfasado y en su lugar debe utilizarse <= (menor o igual que). Compara dos expresiones y determina si expression1 es menor o igual que expression2. Desfasado desde Flash Player 5.

o valor Boolean. Prueba el contrario exacto del operador de igualdad estricta (===).expression2. lleva a cabo una evaluación secuencial de las expresiones o rodea uno o varios parámetros y los pasa como parámetros a una función fuera del paréntesis. descarta su valor. este operador especifica el tipo de variable. Se emplea para negar o restar. Comprueba la igualdad de dos expresiones. el operador de igualdad estricta (===) hace lo mismo que el operador de igualdad (==) con la diferencia de que los tipos de datos no se convierten. Ejecuta una operación de agrupación en uno o varios parámetros. Crea un nuevo objeto y lo inicializa con los pares de propiedades name y value. Si se utilizan antes y después de caracteres. Object.Operador ne (distinto (cadenas)) Descripción Desfasado desde Flash Player 5. a continuación. {} (inicializador de objeto) () (paréntesis) === (igualdad estricta) !== (desigualdad estricta) " (delimitador de cadena) . Devuelve true si expression1 no igual que expression2. Function. las comillas (") indican que los caracteres tienen un valor literal y se consideran una cadena y no una variable ni un valor numérico ni otro elemento de ActionScript. devolviendo undefined.(resta) -= (asignación de resta) : (tipo) typeof void 100 Elementos del lenguaje ActionScript . Se utiliza en la técnica "strict data typing". MovieClip. El operador void evalúa una expresión y. de lo contrario devuelve false. El operador typeof evalúa expression y devuelve una cadena que especifica si la expresión es String. Number. Asigna a expression1 el valor de expression1 . el tipo de devolución de función o el tipo de parámetro de función. Este operador está desfasado y en su lugar debe utilizarse != (inequality).

25 y muestra el número de coma flotante resultante. si al menos una de las expresiones es un número de coma flotante. Sintaxis 2: Esta sentencia añade los enteros 2 y 3 y muestra el entero resultante.5 y 3. Ejemplo Sintaxis 1: El ejemplo siguiente concatena dos cadenas y muestra el resultado en el panel Salida. en el panel Salida: trace(2 + 3).x.Un número o cadena. // salida: Cola plays Drums Nota: Flash Lite 1. // salida: 5. Nota: Flash Lite 2.Un número o cadena. debe utilizar el operador add para concatenar cadenas. . En Flash Lite 1.x. en el panel Salida: trace(2.25).75 Operadores 101 . // salida: 5 Esta sentencia añade los números de coma flotante 2.Una cadena. trace(name + " plays " + instrument). Operandos expression1 expression2 . debe utilizar el operador add para concatenar cadenas. la suma es un entero.0 es compatible con el operador de suma (+) para sumar expresiones numéricas y concatenar cadenas. En Flash Lite 1. la suma es un número de coma flotante. Valor devuelto Object .x no es compatible con el operador de suma (+) para concatenar cadenas. 5. Flash Lite 1 es compatible con el operador de suma (+) para sumar expresiones numéricas (como var1 = 1 + 2 // output: 3). todas las demás expresiones se convierten en cadenas y se concatenan. Si ambas expresiones son enteros. 5. Si una expresión es una cadena. var name:String = "Cola". var instrument:String = "Drums". un entero o un número de coma flotante.5 +3.75.Operador suma (+) expression1 + expression2 Añade expresiones numéricas o concatena (combina) cadenas.

23. El ejemplo siguiente muestra cómo no se calculan las sumas numéricas a la derecha de una expresión de cadena: var a:String trace(a). 13asdf = "asdf" + 3 + 10.text) + oldBalance. las dos sentencias siguientes tienen el mismo resultado: x += y.Un número o cadena. Valor devuelto Number . Por ejemplo. Todas las reglas del operador de suma (+) se aplican al operador de asignación de suma (+=). var oldBalance:Number = 1345.Sintaxis 3: Las variables asociadas con los campos de texto dinámico y de entrada tienen un tipo de datos String.El resultado de la suma. var currentBalance:Number = Number(deposit_txt.23 al panel Salida. Cuando un usuario introduce una cantidad de depósito. Este operador realiza además una concatenación de cadenas. trace(currentBalance). Sin embargo. Por ejemplo. asdf310 Operador asignación de suma (+=) expression1 += expression2 Asigna a expression1 el valor de expression1+ expression2. Operandos expression1 : Number expression2 : Number .text + oldBalance. la función trace() envía el valor 4751345. la variable deposit es un campo de texto de entrada en el escenario. Para corregir esto. 102 Elementos del lenguaje ActionScript . si un usuario introduce 475 en el campo de texto de depósito. el script concatena (se combina para formar una cadena) los valores variables en lugar de sumarlos. el script intenta añadir deposit a oldBalance. var currentBalance = deposit_txt. // = 3 + 10 + "asdf". // var b:String trace(b). .23. En el ejemplo siguiente. trace(currentBalance). como se indica a continuación: var oldBalance:Number = 1345. dado que deposit es un tipo de datos String.Un número o cadena. x = x + y. utilice la función Number() para convertir la cadena en un número.

. se rodean los elementos con el operador de acceso a matriz ([]) (o corchetes). // salida: 15 Véase también Operador suma (+) Operador acceso a matriz ([]) myArray =[a0. También permite acceder a propiedades de objeto. Una matriz puede contener elementos de diversos tipos. 2.Ejemplo Sintaxis 1: Este ejemplo utiliza el operador += con una expresión de cadena y envía "My name is Gilbert" al panel Salida.. 3]. Cuando se crea una matriz. cada elemento es a su vez una matriz con tres elementos: var ticTacToe:Array = [[1. a1. tiene tres elementos. la siguiente matriz. El operador de acceso a matriz permite establecer dinámicamente y recuperar nombres de instancia. con tres elementos. x += y. var x1:String = "My name is ". [4. 8. // salida: My name is Gilbert Sintaxis 2: El ejemplo siguiente muestra un uso numérico del operador de asignación de suma (+=): var x:Number = 5. 9]].aN] myArray[i]= value myObject[propertyName] Inicializa una nueva matriz o matriz multidimensional con los elementos especificados (a0 y así sucesivamente) o accede a elementos de una matriz. 6]. que se identifican mediante un número denominado índice. trace(x). Sintaxis 1: Una matriz es un objeto cuyas propiedades se denominan elementos. Operadores 103 . x1 += "Gilbert". 5. Puede anidar matrices hasta un máximo de 256 niveles de profundidad. El siguiente código crea una matriz denominada ticTacToe. [7. variable y objeto. var y:Number = 10. Por ejemplo.. denominada employee. "Barbara". // Seleccione Depurar > Mostrar variables en modo de prueba // para ver una lista de los elementos de la matriz. Puede anidar los corchetes para simular matrices multidimensionales. el primero es un número y los dos siguientes son cadenas (entre comillas): var employee:Array = [15. trace(x1). "Jay"].

9]]. my_array[0] = 15. tal y como se muestra en el siguiente ejemplo: my_array[3] = "George".Sintaxis 2: Ponga entre corchetes ([]) el índice de cada elemento para acceder a él directamente. . Sintaxis 2: Un valor de la matriz. . a0.myArray Nombre de una matriz. . myObject : Object propertyName : String Valor devuelto Object - Sintaxis 1: Una referencia a una matriz. incluidas las matrices anidadas.. 2. my_array[2] = true. La siguiente línea de código envía el número 6 al panel Salida. Sintaxis 3: Una propiedad del objeto.... trace(ticTacToe[1][2]).propertyName Cadena que denomina una propiedad del objeto.aN : Object i : Number . Puede utilizar corchetes ([]) para añadir un cuarto elemento. puede añadir un nuevo elemento a una matriz o puede cambiar o recuperar el valor de un elemento existente.i Índice de número entero mayor o igual que 0. tal y como se muestra en el siguiente ejemplo: var my_array:Array = new Array().myObject Nombre de un objeto. my_array[1] = "Hello". 5. 8. 104 Elementos del lenguaje ActionScript . El primer índice de una matriz es siempre 0. Las siguientes líneas de código envían el número 6 al panel Salida. Operandos myArray : Object . 3]. var ticTacToe:Array = [[1.a1. ya sea un tipo nativo o una instancia de objeto (incluida una instancia de Array)..// salida: 6 Sintaxis 3: Puede utilizar el operador de acceso a matriz ([]) en lugar de la función eval() para establecer dinámicamente y recuperar los valores de los nombres de clip de película o cualquier propiedad de un objeto. El primer conjunto de corchetes identifica el elemento en la matriz original y el segundo conjunto identifica el elemento en la matriz anidada.a0.aN Elementos de una matriz.. name["mc" + i] = "left_corner". ya sea un tipo nativo o una instancia de objeto (incluida una instancia de Array). a1. 6]. [7. cualquier tipo nativo o instancia de objeto. Puede utilizar corchetes ([]) para acceder a un elemento de una matriz multidimensional. [4.

Puede utilizar el siguiente ActionScript para reproducir indefinidamente todos los objetos del ámbito _root. }. algo que resulta útil para depurar: for (i in _root) { trace(i+": "+_root[i]). Véase también Array. se evalúa la expresión entre corchetes y el resultado se utiliza como nombre de la variable que se va a recuperar del clip de película name_mc: name_mc["A" + i]. } También puede utilizar el operador de acceso a una matriz ([]) del lado izquierdo de una sentencia de asignación para establecer dinámicamente nombres de instancia.onRelease = function(){ x = my_mc["piece"+i]. "Mary"]. trace(x). El ejemplo siguiente crea una matriz llamada employee_array y utiliza la sentencia trace() para enviar los elementos al panel Salida. En la cuarta línea. trace(employee_array).A" & i).Sam En el ejemplo siguiente. por ejemplo. Object. la primera línea utiliza corchetes ([]): var my_array:Array = [].George. el valor de la variable piece5 en el clip de película my_mc se mostrará en el panel Salida: myBtn_btn. // salida: Barbara. var my_array:Array = new Array(). "George". se evalúa la expresión entre corchetes ("piece" + i) y el resultado se utiliza como nombre de la variable que se va a recuperar del clip de película my_mc: En este ejemplo. // salida: Barbara. Si la variable i es igual a 5. se cambia un elemento de la matriz.Mary employee_array[2] = "Sam". trace(employee_array). Función eval Operadores 105 . puede emplear la función eval() para conseguir el mismo resultado: eval("name_mc.Ejemplo El ejemplo siguiente muestra dos formas de crear un nuevo objeto Array vacío. Si conoce la sintaxis de barras de Flash 4 ActionScript. variable y objeto: employee_array[2] = "Sam".George. En el ejemplo siguiente. la variable i debe encontrarse en la misma línea de tiempo que el botón. y la quinta línea envía la matriz recién modificada al panel Salida: var employee_array = ["Barbara".

El ejemplo siguiente utiliza asignación por referencia para crea un objeto nuevo y asignar una referencia a ese objeto a la variable mercury. La asignación por valor se utiliza cuando se asigna un número o un literal de cadena a una variable.moonsOfJupiter[0] = "Callisto".Una variable. elemento de matriz o propiedad de expression1. La asignación por valor copia el valor actual de expression2 y lo almacena en expression1. A continuación se utiliza asignación por valor para asignar el valor de 3030 a la propiedad diameter del objeto mercury: var mercury:Object = new Object(). La asignación por referencia almacena una referencia a expression2 en expression1. // output: 3030 106 Elementos del lenguaje ActionScript . La asignación por referencia suele utilizarse con operador new. El ejemplo siguiente utiliza asignación por valor para asignar el valor "hello" a la variable x: var x:String. expression2 : Object Valor devuelto Object . var x:Number = 5.diameter = 3030.x = " hello ". objeto. Operandos expression1 : Object .El valor asignado. mercury. expression2. El ejemplo siguiente utiliza asignación por referencia para crear la variable moonsOfJupiter. El uso del operador new crea un objeto en la memoria y se asigna a la variable una referencia a dicha ubicación en la memoria. La asignación puede ser por valor o por referencia.Operador asignación (=) expression1 = expression2 Asigna el valor de expression2 (el parámetro a la derecha) a la variable. un elemento de una matriz o una propiedad de un . // in miles trace (mercury.Un valor de cualquier tipo.diameter). Ejemplo El ejemplo siguiente utiliza asignación por valor para asignar el valor de 5 a la variable x. que contiene una referencia a un objeto Array recién creado. A continuación se utiliza asignación por valor para copiar el valor "Callisto" al primer elemento de la matriz a la que hace referencia la variable moonsOfJupiter: var moonsOfJupiter:Array = new Array().

. // output: 4878 Véase también Operador igualdad (==) Operador AND en modo bit (&) expression1 & expression2 Convierte expression1 y expression2 en enteros de 32 bits sin signo y ejecuta una operación booleana AND en cada bit de los parámetros integer. de forma que el valor devuelto sea un entero del intervalo comprendido entre -2147483648 y 2147483647. Seguidamente podemos cambiar la propiedad diameter para utilizar kilómetros en lugar de millas: var merkur:Object = mercury. Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos. // in kilometers trace (mercury.diameter = 4878.Un número. se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten. Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal.diameter). Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. merkur. de forma que el valor siga siendo de 32 bits. El resultado es un nuevo entero de 32 bits.El resultado de la operación en modo bit.Un número. De este modo se crean dos variables que hacen referencia al mismo objeto en la memoria. los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos. lo que significa que puede utilizar cualquiera de ellas para acceder a las propiedades del objeto.El ejemplo siguiente se basa en el ejemplo anterior creando una variable llamada merkur ("mercury" en alemán) y asignándole el valor de mercury. Operadores 107 . Operandos expression1 : Number expression2 : Number . siendo el mínimo -2147483648 o 0x800000000. Valor devuelto Number . El valor devuelto se interpreta como un número complementario del dos con signo.

Ejemplo El ejemplo siguiente compara la representación de bits de los números y devuelve 1 sólo si los dos bits en la misma posición son 1.Un número. // -1 -1). Operador asignación de XOR en modo bit (^=). // -1 Véase también Operador asignación de AND en modo bit (&=). var update:Number = 11. Operador asignación de OR en modo bit (|=). // -1 4294967295). // salida: 9 (o 1001 .El valor de expression1 & expression2 . var insert:Number = 13. Operandos expression1 : Number expression2 : Number .binario) En los números 13 y 11 el resultado es 9 porque sólo la primera y la última posición de ambos números tienen el número 1. x = x & y. Operador NOT en modo bit (~) Operador asignación de AND en modo bit (&=) expression1 &= expression2 Asigna a expression1 el valor de expression1& expression2. . las dos expresiones siguientes son equivalentes: x &= y. Operador XOR en modo bit (^). Operador OR en modo bit (|). añade 13 (binario 1101) y 11 (binario 1011) y devuelve 1 sólo en la posición en la que los números tienen un 1. trace(insert & update).Un número. Por ejemplo. trace(0xFFFFFFFF & trace(0xFFFFFFFF & trace(4294967295 & trace(4294967295 & // 4294967295 0xFFFFFFFF). Los ejemplos siguientes muestran el comportamiento de la conversión del valor devuelto: trace(0xFFFFFFFF). 108 Elementos del lenguaje ActionScript . En el siguiente código ActionScript. Valor devuelto Number . // -1 -1).

El resultado de la operación en modo bit. Operador asignación de OR en modo bit (|=). los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos. se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten. Operador OR en modo bit (|).Ejemplo El ejemplo siguiente asigna el valor de 9 a x: var x:Number = 15. Operadores 109 .Número o expresión que se va a desplazar a la izquierda. de forma que el valor siga siendo de 32 bits. Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. Las posiciones de bit vacías fruto de esta operación se llenan con 0 y los bits que se desplazan a la izquierda se descartan. Desplazar un valor una posición a la izquierda equivale a multiplicarlo por 2. Operador NOT en modo bit (~) Operador desplazamiento a la izquierda en modo bit (<<) expression1 << expression2 Convierte expression1 y expression2 en enteros de 32 bits y desplaza todos los bits de expression1 a la izquierda el número de posiciones especificado por el entero resultante de la conversión de expression2. Valor devuelto Number .Número o expresión que se convierte en un entero de 0 a 31. El valor devuelto se interpreta como un número complementario del dos con signo. var y:Number = 9. Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Operador XOR en modo bit (^). . siendo el mínimo -2147483648 o 0x800000000. de forma que el valor devuelto será un entero del intervalo comprendido entre -2147483648 y 2147483647. Operandos expression1 : Number expression2 : Number . // salida: 9 Véase también Operador AND en modo bit (&). trace(x &= y). Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos. Operador asignación de XOR en modo bit (^=).

Número o expresión que se va a desplazar a la izquierda.Número o expresión que se convierte en un entero de 0 a 31. 110 Elementos del lenguaje ActionScript . En el ejemplo siguiente. el entero 1 se desplaza 10 bits a la izquierda: x = 1 << 10 El resultado de esta operación es x = 1024. Valor devuelto Number . Operador asignación y desplazamiento a la izquierda en modo bit (<<=). 1 binario desplazado 10 bits a la izquierda es 10000000000 binario. comprobará que los bits se han desplazado dos espacios a la izquierda: // 2 binario == 0010 // 8 binario == 1000 trace(2 << 2). 111 binario desplazado 8 bits a la izquierda es 11100000000 binario. y 10000000000 binario es 1024 decimal. y 11100000000 binario es 1792 decimal.El resultado de la operación en modo bit. Eso se debe a que 1 decimal es igual a 1 binario.Ejemplo En el ejemplo siguiente. . Las dos expresiones siguientes son equivalentes: A <<= BA = (A << B) Operandos expression1 : Number expression2 : Number . Eso se debe a que 7 decimal es igual a 111 binario. Operador desplazamiento a la derecha en modo bit sin signo (>>>). Si observa el ejemplo siguiente. Operador asignación y desplazamiento a la derecha en modo bit sin signo (>>>=) Operador asignación y desplazamiento a la izquierda en modo bit (<<=) expression1 <<= expression2 Este operador ejecuta una operación de desplazamiento a la izquierda en modo bit (<<=) y almacena el contenido como un resultado en expression1. // salida: 8 Véase también Operador asignación y desplazamiento a la derecha en modo bit (>>=). Operador desplazamiento a la derecha en modo bit (>>). el entero 7 se desplaza 8 bits a la izquierda: x = 7 << 8 El resultado de esta operación es x = 1792.

Operadores 111 . Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. El uso más común de los operadores en modo bit es la representación de bits indicadores (valores booleanos empaquetados en 1 bit cada uno). a continuación. Es decir. El resultado es un entero de 32 bits sin signo. // salida: 8 // 4 decimal = 0100 binario // 8 decimal = 1000 binario Véase también Operador desplazamiento a la izquierda en modo bit (<<). que cada bit que sea 0 se establece como 1 en el resultado y cada bit que sea 1 se establece como 0 en el resultado. ~0x7777 es 0x8888. Operador asignación y desplazamiento a la derecha en modo bit (>>=). Por lo tanto. trace(x). Convierte expression en un entero de 32 bits sin signo y. de forma que el valor siga siendo de 32 bits. Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos.Ejemplo En el ejemplo siguiente. siendo el mínimo -2147483648 o 0x800000000. los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos. se corresponde con este número binario: 1000100010001000 El valor hexadecimal correspondiente es 0x8888. Por ejemplo. Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. el valor hexadecimal 0x7777 se representa como este número binario: 0111011101110111 La negación en modo bit de dicho valor hexadecimal. utilice el operador de asignación y desplazamiento a la izquierda en modo bit (<<=) para desplazar todos los bits un espacio a la izquierda: var x:Number = 4. // desplaza todos los bits una posición a la izquierda. ~0x7777. se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten. aplica un complemento de uno en modo bit. x <<= 1. Operador desplazamiento a la derecha en modo bit (>>) Operador NOT en modo bit (~) ~expression También conocido como operador complementario de uno u operador complementario en modo bit.

trace(flags).El valor devuelto se interpreta como un número complementario del dos con signo. Operador OR en modo bit (|). El siguiente código crea la máscara y lleva a cabo un AND en modo bit: */ flags &= ~ReadOnlyFlag. /* Para establecer el indicador de sólo lectura en la variable flags. /* Para borrar el indicador de sólo lectura en la variable flags. utilice AND en modo bit con la máscara para borrar el indicador de sólo lectura. Operador asignación de OR en modo bit (|=) 112 Elementos del lenguaje ActionScript . Operandos expression : Number . // salida: 0 1 0 Véase también Operador AND en modo bit (&). Operador asignación de XOR en modo bit (^=). En la máscara. trace(flags). Operador XOR en modo bit (^).El resultado de la operación en modo bit. de forma que el valor devuelto sea un entero del intervalo comprendido entre -2147483648 y 2147483647.Un número. Ejemplo El ejemplo siguiente demuestra un uso del operador NOT en modo bit (-) con bits indicadores: var ReadOnlyFlag:Number = 0x0001. Valor devuelto Number . primer cree una máscara con NOT en modo bit en ReadOnlyFlag. A continuación. cada bit es un 1 salvo el indicador de sólo lectura. // define el bit 0 como el indicador de sólo lectura var flags:Number = 0. Operador asignación de AND en modo bit (&=). trace(flags). el código siguiente utiliza OR en modo bit: */ flags |= ReadOnlyFlag.

Operador XOR en modo bit (^). de forma que el valor siga siendo de 32 bits. . Operandos expression1 : Number expression2 : Number .Un número. tanto de expression1 como expression2 son 1. se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten.Un número. El valor devuelto se interpreta como un número complementario del dos con signo. de forma que el valor devuelto será un entero del intervalo comprendido entre -2147483648 y 2147483647. los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos. // devuelve 15 decimal (1111 binario) No se debe confundir | (OR en modo bit) con || (OR lógico). Operador asignación de OR en modo bit (|=). Operador NOT en modo bit (~) Operadores 113 . Ejemplo A continuación se ofrece un ejemplo de una operación OR (|) en modo bit: // 15 decimal = 1111 binario var x:Number = 15. Operador asignación de AND en modo bit (&=).Operador OR en modo bit (|) expression1 | expression2 Convierte expression1 y expression2en enteros de 32 bits sin signo y devuelve 1 en cada posición de bit donde los correspondientes bits.El resultado de la operación en modo bit. // 1111 | 1001 = 1111 trace(x | y). Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. Operador asignación de XOR en modo bit (^=). // 9 decimal = 1001 binario var y:Number = 9. Véase también Operador AND en modo bit (&). Valor devuelto Number . siendo el mínimo -2147483648 o 0x800000000. Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. El resultado es un nuevo entero de 32 bits. Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos.

Los bits que se desplazan fuera del extremo derecho se descartan. Operador XOR en modo bit (^). // 9 decimal = 1001 binario var y:Number = 9. Operador asignación de OR en modo bit (|=). // devuelve 15 decimal (1111 binario) Véase también Operador AND en modo bit (&).Un número o variable. Ejemplo El ejemplo siguiente utiliza el operador de asignación OR en modo bit (|=)): // 15 decimal = 1111 binario var x:Number = 15. Operador NOT en modo bit (~) Operador desplazamiento a la derecha en modo bit (>>) expression1 >> expression2 Convierte expression1 y expression2 en enteros de 32 bits y desplaza todos los bits de expression1 a la derecha el número de posiciones especificado por el entero resultante de la conversión de expression2. . Desplazar un valor una posición a la derecha equivale a dividir por 2 y descartar el resto. // 1111 |= 1001 = 1111 trace(x |= y).El resultado de la operación en modo bit. los bits a la izquierda se completan con un 0 si el bit más importante (el situado en el extremo izquierdo) de expression1 es 0. las dos sentencias siguientes son equivalentes: x |= y. Por ejemplo. y con 1 si el bit más importante es 1. Operador OR en modo bit (|). Operador asignación de AND en modo bit (&=). Para conservar el signo del original expression.Un número o variable. Operador asignación de XOR en modo bit (^=). 114 Elementos del lenguaje ActionScript .Operador asignación de OR en modo bit (|=) expression1 |= expression2 Asigna a expression1 el valor de expression1 | expression2. Operandos expression1 : Number expression2 : Number . and x = x | y. Valor devuelto Number .

Eso se debe a que 65535 decimal es igual a 1111111111111111 binario (dieciséis unos). Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos. trace(x).Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal.Número o expresión que se va a desplazar a la derecha. trace(x).El resultado de la operación en modo bit. por lo que el bit de relleno es 0. Operadores 115 . 1111111111111111 binario desplazado 8 bits a la derecha es 11111111 binario. El ejemplo siguiente convierte -1 en un entero de 32 bits y lo desplaza 1 bit a la derecha: var x:Number = -1 >> 1. Operandos expression1 : Number expression2 : Number . . y 11111111 binario es 255 decimal. Ejemplo El ejemplo siguiente convierte 65535 en un entero de 32 bits y lo desplaza 8 bits a la derecha: var x:Number = 65535 >> 8. los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos. de forma que el valor siga siendo de 32 bits.Número o expresión que se convierte en un entero de 0 a 31. se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten. El bit más significativo es 0 porque los enteros son de 32 bits. El valor devuelto se interpreta como un número complementario del dos con signo. // produce el resultado 255 El ejemplo siguiente muestra el resultado del ejemplo anterior: var x:Number = 255. de forma que el valor devuelto será un entero del intervalo comprendido entre -2147483648 y 2147483647. Valor devuelto Number . Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. // produce el resultado -1 El ejemplo siguiente muestra el resultado del ejemplo anterior: var x:Number = -1. siendo el mínimo -2147483648 o 0x800000000.

lo que representa el entero de 32 bits -1. Ejemplo El siguiente código comentado utiliza el operador de asignación y desplazamiento a la derecha en modo bit (>>==). Operandos expression1 : Number expression2 : Number .El resultado de la operación en modo bit. i<32. .Número o expresión que se convierte en un entero de 0 a 31. } return result. El resultado es 11111111111111111111111111111111 binario (treinta y dos unos). Véase también Operador asignación y desplazamiento a la derecha en modo bit (>>=) Operador asignación y desplazamiento a la derecha en modo bit (>>=) expression1 >>= expression2 Este operador ejecuta una operación de desplazamiento a la derecha en modo bit y almacena el contenido como un resultado en expression1.Esto se debe a que -1 decimal es igual a 11111111111111111111111111111111 binario (treinta y dos unos). para ver el bit siguiente numberToConvert >>= 1. Las dos sentencias siguientes son equivalentes: A >>= B. and A = (A >> B). i++) { // Extrae el bit menos significativo utilizando AND en modo bit var lsb:Number = numberToConvert & 1. // Desplaza numberToConvert a la derecha un bit. Valor devuelto Number . } 116 Elementos del lenguaje ActionScript .Número o expresión que se va a desplazar a la derecha. // Añade este bit al resultado string result = (lsb ? "1" : "0")+result. desplazando un bit a la derecha hace que se descarte el bit menos significativo (el situado más a la derecha) y que se rellene con 1 el bit más significativo. function convertToBinary(numberToConvert:Number):String { var result:String = "". for (var i = 0.

Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos. // Devuelve la cadena 00000000000000000000000111011111 // Esta cadena es la representación binaria del decimal // número 479 Véase también Operador desplazamiento a la derecha en modo bit (>>) Operador desplazamiento a la derecha en modo bit sin signo (>>>) expression1 >>> expression2 Es igual al operador de desplazamiento a la derecha en modo bit (>>).Número o expresión que se convierte en un entero entre 0 y 31. Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos. . // salida: 2147483647 Operadores 117 .El resultado de la operación en modo bit. Operandos expression1 : Number expression2 : Number . se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten. Valor devuelto Number . de forma que el valor siga siendo de 32 bits.Número o expresión que se va a desplazar a la derecha. siendo el mínimo -2147483648 o 0x800000000. con la diferencia de que no conserva el signo de la expression original porque los bits a la izquierda se rellenan siempre con un 0. trace(x). Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Ejemplo El ejemplo siguiente convierte -1 en un entero de 32 bits y lo desplaza 1 bit a la derecha: var x:Number = -1 >>> 1.trace(convertToBinary(479)).

lo que representa el entero de 32 bits 2147483647.Número o expresión que se va a desplazar a la derecha.Esto se debe a que -1 decimal es 11111111111111111111111111111111 binario (treinta y dos unos) y cuando se desplaza a la derecha (sin signo) 1 bit.El resultado de la operación en modo bit. se descarta el bit menos significativo (situado más a la derecha) y se rellena el bit más significativo (situado más a la izquierda) con un 0. 118 Elementos del lenguaje ActionScript . Operandos expression1 : Number expression2 : Number . . Véase también Operador asignación y desplazamiento a la derecha en modo bit (>>=) Operador asignación y desplazamiento a la derecha en modo bit sin signo (>>>=) expression1 >>>= expression2 Ejecuta una operación de desplazamiento a la derecha en modo bit sin signo y almacena el contenido como un resultado en expression1. Las dos sentencias siguientes son equivalentes: A >>>= B. Ejemplo Véase también Operador desplazamiento a la derecha en modo bit sin signo (>>>). El resultado es 01111111111111111111111111111111 binario. Valor devuelto Number . El resultado es un nuevo entero de 32 bits. Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal.Número o expresión que se convierte en un entero de 0 a 31. Operador asignación y desplazamiento a la derecha en modo bit (>>=) Operador XOR en modo bit (^) expression1 ^ expression2 Convierte expression1 y expression2 en enteros de 32 bits sin signo y devuelve 1 en cada posición de bit donde los correspondientes bits de expression1 o de expression2 (pero no ambos) son 1. and A = (A >>> B).

Operador asignación de OR en modo bit (|=). Operador asignación de XOR en modo bit (^=). trace(x).El resultado de la operación en modo bit. El valor devuelto se interpreta como un número complementario del dos con signo. y asigna el resultado a la variable x: // 15 decimal = 1111 binario // 9 decimal = 1001 binario var x:Number = 15 ^ 9. Valor devuelto Number . . Los números negativos se convierten en un valor hexadecimal sin signo a través de la notación complementaria del dos. Operador NOT en modo bit (~) Operadores 119 . Ejemplo El ejemplo siguiente utiliza el operador XOR en modo bit en los decimales 15 y 9. de forma que el valor siga siendo de 32 bits. Operador asignación de AND en modo bit (&=).Un número. de forma que el valor devuelto será un entero del intervalo comprendido entre -2147483648 y 2147483647. siendo el mínimo -2147483648 o 0x800000000. Operador OR en modo bit (|). los números menores que el mínimo se convierten en el complemento del dos con una mayor precisión y también se descartan sus dígitos más significativos.Un número. se descartan los dígitos más significativos de los valores mayores que el máximo cuando se convierten.Los enteros positivos se convierten en un valor hexadecimal sin signo con un valor máximo de 4294967295 o 0xFFFFFFFF. Operandos expression1 : Number expression2 : Number . // 1111 ^ 1001 = 0110 // devuelve 6 decimal (0110 binario) Véase también Operador AND en modo bit (&).

trace(x ^= y). Operador NOT en modo bit (~) 120 Elementos del lenguaje ActionScript . Operador OR en modo bit (|).Enteros y variables. Operador asignación de OR en modo bit (|=).Enteros y variables. Por ejemplo.Operador asignación de XOR en modo bit (^=) expression1 ^= expression2 Asigna a expression1 el valor de expression1 ^ expression2. Operador XOR en modo bit (^). Valor devuelto Number . .El resultado de la operación en modo bit. Ejemplo El ejemplo siguiente muestra una operación de asignación de XOR en modo bit (^=): // 15 decimal = 1111 binario var x:Number = 15. las dos sentencias siguientes son equivalentes: x ^= y x = x ^ y Operandos expression1 : Number expression2 : Number . Operador asignación de AND en modo bit (&=). // 9 decimal = 1001 binario var y:Number = 9. // devuelve 6 decimal (0110 binario) Véase también Operador AND en modo bit (&).

Los caracteres que aparecen entre la etiqueta de apertura de comentario (/*) y la etiqueta de cierre de comentario (*/) se interpretan como un comentario y el interpretador de ActionScript los omite.Operador delimitador de comentario en bloque (/*) /* comentario */ /* comment comentario */ Indica una o varias líneas de comentarios de script. /* Pero la primera etiqueta de cierre tendrá su par correspondiente con la primera etiqueta de apertura */ y este texto no se interpretará como un comentario */ Véase también Operador delimitador de comentario de línea (//) Operadores 121 . aparece un mensaje de error. la primera etiqueta de cierre de comentario (*/) finalizará el comentario.Cualquier carácter._y._x._y. Este intento de anidar comentarios producirá un mensaje de error: /* se trata de un intento de anidar comentarios. var batX:Number = bat_mc. También aparece un mensaje de error si se intenta anidar comentarios. Operandos comment . Después de utilizar una etiqueta de apertura de comentario (/*). var ballY:Number = ball_mc. Ejemplo El script siguiente utiliza delimitadores de comentarios al principio: /* registra las posiciones X e Y de los clips de película ball y bat */ var ballX:Number = ball_mc. Utilice el delimitador de comentario /* para identificar los comentarios en varias líneas sucesivas. Utilice el delimitador de comentario // para identificar los comentarios de una sola línea. Si no se inserta la etiqueta de cierre (*/) cuando se utiliza esta forma de delimitador de comentario. independientemente del número de etiquetas de apertura (/*) que haya entre ambas. var batY:Number = bat_mc._x.

i < 3 && j < 3. 6). trace("i = } // Salida: // i = 0. expression2 [. j = " + j). trace(v).Cualquier número de expresiones adicionales que se van a evaluar. 5.Operador coma (. . expression2 y así sucesivamente. j j = 0. v = (4. var v:Number = 0. trace(v). expression2 y así sucesivamente. // salida: 4 El ejemplo siguiente utiliza el operador de coma (. a continuación. var z:Number = 0.Expresión que se va a evaluar. 6. 5.) sin el operador de paréntesis () e ilustra que el operador de coma evalúa secuencialmente todas las expresiones pero devuelve el valor de la primera expresión. se evalúa y z se incrementa en uno. Valor devuelto Object .El valor de expression1.) sin el operador de paréntesis () e ilustra que el operador de coma devuelve únicamente el valor de la primera expresión sin el operador de paréntesis (): var v:Number = 0. ]) Evalúa primero expression1.) con el operador de paréntesis () e ilustra que el operador de coma devuelve el valor de la última expresión cuando se utiliza con el operador de paréntesis (): var v:Number = 0. z++.) en un bucle for: for (i = 0. i++. .Expresión que se va a evaluar. j // i = 1. expressionN. // salida: 6 El ejemplo siguiente utiliza el operador de coma (.. = 0 = 2 El ejemplo siguiente utiliza el operador de coma (. Ejemplo El ejemplo siguiente utiliza el operador de coma (.. j+=2) { " + i + ". Operandos expression1 : Number expression2 : Number expressionN : Number .) (expression1 . a continuación. La segunda expresión. v = 4. Este operador se utiliza principalmente con la sentencia de bucle for y a menudo con el operador de paréntesis (). 122 Elementos del lenguaje ActionScript .

0. z++. v + 6). Nota: en Flash Lite 2. z++. v = (v + 4. el operador de coma (. El operador de suma (+) sustituye al operador & de Flash 4. cuando se utiliza con el operador de paréntesis (). los archivos de Flash Player 4 que utilizan el operador & se convierten automáticamente para utilizar el operador de suma (+) para la concatenación de cadenas cuando pasan al entorno de edición de Flash 5 o versiones posteriores.Una cadena. Adobe recomienda que utilice el operador de suma (+) cuando cree contenido para Flash Player 5 o versiones posteriores. Debe utilizar el operador de suma (+) para concatenar cadenas si está creando contenido para Flash Player 4 o versiones anteriores de Flash Player. salvo por la adición del operador de paréntesis () e ilustra una vez más que. Concatena dos o más cadenas. también el operador add está desfasado y en su lugar debe utilizarse el operador (+). v + 6. // salida: 1 Véase también Operador paréntesis (()) Operador suma de concatenación (cadenas) string1 add string2 Desfasadodesde Flash Player 5.Una cadena. . // salida: 1 El ejemplo siguiente es idéntico al ejemplo anterior. // salida: 6 trace(z). Véase también Operador suma (+) Operadores 123 . Operandos string1 : String string2 : String .La cadena concatenada.v = v + 4 . var z:Number = 0.) devuelve el valor de la última expresión de la serie: var v:Number = 0. trace(v). trace(v). Valor devuelto String . // salida: 4 trace(z).

Ejemplo La sentencia siguiente asigna el valor de la x a la variable z porque expression1 da como resultado true: var x:Number = 5.Expresión que da como resultado un valor booleano. Operandos expression1 : Object .Valores de cualquier tipo. } trace(timecode). normalmente una expresión de comparación. el operador devuelve el valor de expression2. trace(timecode). trace (z). como se muestra en el ejemplo siguiente: if (new Date(). .getHours() < 11) { var timecode:String = "AM". La misma sentencia condicional también puede escribirse en forma no abreviada. // devuelve 5 El ejemplo siguiente muestra una sentencia condicional escrita en forma abreviada: var timecode:String = (new Date(). como x < 5. en caso contrario devuelve el valor de expression3. var y:Number = 10. . expression2 : Object expression3 : Object Valor devuelto Object .expression1 .Operador condicional (?:) expression1 ? expression2 : expression3 Indica a Flash que evalúe expression1 y si el valor de expression1 es true. 124 Elementos del lenguaje ActionScript .El valor de expression2 o expression3. } else { var timecode:String = "PM".getHours() < 11) ? "AM" : "PM".Valores de cualquier tipo. var z = (x < 6) ? x: y.

Ejemplo La forma de decremento previo del operador decrementa x hasta 2 (x . i>0.Número o variable que da como resultado un número. for (var i = 10. //y es igual a 3 El ejemplo siguiente reproduce indefinidamente de 10 a 1. un elemento de una matriz o una propiedad de un objeto. La forma de decremento posterior del operador (expression--) resta 1 de expression y devuelve el valor inicial de expression (el valor antes de la resta).1 = 2) y devuelve el resultado como y: var x:Number = 3.Operador decremento (--) --expresión expression-- Operador unario de decremento previo y decremento posterior que resta 1 de expression. Operandos expression : Number . Operandos expression : Number .Número o variable que da como resultado un número. La expression puede ser una variable. La forma de decremento previo del operador (--expression) resta 1 de expression y devuelve el resultado. Valor devuelto Number .1 = 2) y devuelve el valor original de x como el resultado de y: var x:Number = 3. y cada repetición del bucle decrementa la variable de contador i en 1. //y es igual a 2 La forma de decremento posterior del operador decrementa x hasta 2 (x . var y:Number = x--.El resultado del valor decrementado. El resultado de la operación de división es un número de coma flotante de doble precisión. } Operador división (/) expression1 / expression2 Divide expression1 por expression2. i--) { trace(i). var y:Number = --x. Operadores 125 .

a continuación.El resultado de coma flotante de la operación. Valor devuelto Number . Véase también Operador módulo (%) Operador asignación de división (/=) expression1 /= expression2 Asigna a expression1 el valor de expression1 / expression2.height/2). Ejemplo El código siguiente ilustra el uso del operador asignación de división (/=)) con variables y números: var x:Number = 10. var y:Number = 2. Por ejemplo. las dos sentencias siguientes son equivalentes: x /= y. trace(Stage. // salida: 5 Véase también Operador división (/) 126 Elementos del lenguaje ActionScript . Con un ancho y un alto de escenario predeterminados de 550 x 400. trace(Stage. Operandos expression1 : Number expression2 : Number . el resultado es 275 y 150. trace(x).Número o variable que da como resultado un número.Número o variable que da como resultado un número. and x = x / y. .width/2).Valor devuelto Number . muestra el resultado en el panel Salida. x /= y. Ejemplo La sentencia siguiente divide el ancho y el alto actuales del escenario y.Un número.

pero los archivos de Flash MX 2004 publicados para Player 4 pueden utilizar el operador de punto.hairColor El entorno de edición de Flash 4 no admitía la sintaxis con punto.El nombre de instancia a la izquierda del operador de punto (.variable Se utiliza para navegar por las jerarquías de clips de película y acceder a variables.).childinstance instancename. Ejemplo El ejemplo siguiente identifica el valor actual de la variable hairColor en el clip de película person_mc: person_mc. propiedad o clip de película que aparece a la derecha del punto.) también puede representar una variable en la línea de tiempo del clip de película.Nombre de una propiedad o método asociado con un objeto.variable instancename. childinstance : MovieClip . Este parámetro se ubica siempre a la derecha del operador de punto (.) object.Operador punto (.property_or_method instancename. propiedades o clips de película anidados (secundarios). Todos los métodos y propiedades válidos para las clases incorporadas se enumeran en las tablas de resumen de método y propiedades de dicha clase. para ejecutar un método de un objeto o clase de nivel superior o para crear una estructura de datos.childinstance.El nombre de instancia de un clip de película. .Nombre de instancia de un clip de película que es un elemento secundario o anidado de otro clip de película. Operandos object : Object .Una instancia de una clase. property_or_method instancename : MovieClip . variable . Valor devuelto Object .El método. El objeto puede ser una instancia de cualquiera de las clases de ActionScript incorporadas o una clase personalizada. Este parámetro se ubica siempre a la izquierda del operador de punto (. El ejemplo anterior equivale a la siguiente sintaxis de Flash 4 (desfasada): /person_mc:hairColor Operadores 127 .). El operador de punto se utiliza también para probar o establecer las propiedades de un objeto o clase de nivel superior.

) se utiliza para referirse a instancia dentro del archivo SWF y cuando es necesario establecer propiedades y valores para esas instancias. Operandos expression1 : Object . this. 0. 128 Elementos del lenguaje ActionScript .Un número. El operador de punto (.getNextHighestDepth()). La definición de igual depende del tipo de datos del parámetro: ■ Los valores numéricos y booleanos se comparan por su valor y se consideran iguales si tienen el mismo valor. matriz o función. Las variables que representan objetos.El resultado booleano de la comparación. Valor devuelto Boolean . Dos de estas variables son iguales si hacen referencia al mismo objeto.container_mc.createEmptyMovieClip("container_mc". ■ ■ Si se comparan por su valor y expression1 y expression2 tienen tipos de datos distintos. valor booleano. Operador igualdad (==) expression1 == expression2 Comprueba la igualdad de dos expresiones.text = new Date(). Dos matrices independientes nunca se consideran iguales. 22). cadena. 100. objeto. 0. aunque tengan el mismo número de elementos. matriz o . El resultado es true si las expresiones son iguales.getNextHighestDepth(). this. this.Un número. matrices y funciones se comparan por su referencia.container_mc.El ejemplo siguiente crea un clip de película nuevo en el ámbito _root. ActionScript intentará convertir el tipo de datos de expression2 para que coincida con el de expression1. objeto. this. valor booleano.createTextField("date_txt". cadena. A continuación se crea un campo de texto dentro del clip de película llamado container_mc. variable.date_txt. variable. expression2 : Object función.date_txt. matriz o función. this. La propiedad autoSize del campo de texto se establece como true y a continuación se rellena con la fecha actual. this.autoSize = true. Las expresiones de cadena son iguales si tienen el mismo número de caracteres y éstos son idénticos.container_mc.

trace(x == y). var y:String = "66". if (a == b) { trace("David is David"). b:String = "David". var y:String = "5". trace(firstArray == thirdArray). // salida: false var x:String = "chris". trace(x == y). Si bien las matrices parecen iguales. El operador de igualdad devolverá true para estas dos matrices porque las dos variables hacen referencia a la misma matriz. var secondArray:Array = new Array("one". var y:String = "steve". // salida: false Los ejemplos siguientes muestran comparación por referencia. } Los ejemplos siguientes muestran los resultados de operaciones que comparan tipos mixtos: var x:Number = 5. // devolverá false // Las matrices sólo se consideran iguales // si las variables hacen referencia a la misma matriz. "two". "three"). trace(x == y). trace(firstArray == secondArray). Operador OR lógico (||). // devolverá true Véase también Operador NOT lógico (!). que señala a la misma matriz que la variable firstArray. "two". Operador desigualdad (!=). var thirdArray:Array = firstArray. Operador igualdad estricta (===) Operadores 129 . // salida: true var x:String = "5". Operador AND lógico (&&). Operador desigualdad estricta (!==). "three"). la comparación por referencia requiere que ambas hagan referencia a la misma matriz. var firstArray:Array = new Array("one".Ejemplo El ejemplo siguiente utiliza el operador de igualdad (==)) con una sentencia if: var a:String = "David". El segundo ejemplo crea la variable thirdArray. El primer ejemplo compara dos matrices con una longitud y elementos idénticos. El operador de igualdad devolverá false para estas dos matrices.

Operandos expression1 : Object expression2 : Object .El resultado booleano de la comparación. Valor devuelto Boolean . cadenas o variables. Si expression1 es menor o igual que expression2.Operador igualdad (eq) (cadenas) expression1 eq expression2 Desfasado desde Flash Player 5. 130 Elementos del lenguaje ActionScript .Un número o cadena.Números. Las expresiones de cadena se evalúan por orden alfabético.Números. si lo es. Compara la igualdad de dos expresiones y devuelve un valor de true si la representación de cadena de expression1 es igual a la representación de cadena expression2.Un número o cadena. todas las letras mayúsculas preceden a las minúsculas. Operandos expression1 : Object expression2 : Object . Valor devuelto Boolean .El resultado de la comparación. Este operador está desfasado y en su lugar debe utilizarse == (equality). cadenas o variables. . el operador devuelve false. y false en caso contrario. . el operador devuelve true. Véase también Operador igualdad (==) Operador mayor que (>) expression1 > expression2 Compara dos expresiones y determina si expression1 es mayor que expression2.

Una cadena. .El resultado booleano de la comparación. Operandos expression1 : Object expression2 : Object . Operandos expression1 : Object expression2 : Object . Compara la representación de cadena de expression1 con la representación de cadena de expression2 y devuelve true si expression1 es mayor que expression2. cadenas o variables.Una cadena. Este operador está desfasado y en su lugar debe utilizarse > (mayor que). un entero o un número de coma flotante.Ejemplo En el ejemplo siguiente. Véase también Operador mayor que (>) Operador mayor o igual que (>=) expression1 >= expression2 Compara dos expresiones y determina si expression1 es mayor o igual que expression2 (true) o expression1 es menor que expression2 (false). try again"). you win!"). Valor devuelto Boolean . } else { trace("sorry. } Operador mayor que (gt) (cadenas) expression1 gt expression2 Desfasado desde Flash Player 5.Números. .text>90) { trace("Congratulations. en caso contrario devuelve false.Números. Operadores 131 . un entero o un número de coma flotante. cadenas o variables. el operador de mayor que (>) se utiliza para determinar si el valor del campo de texto score_txt es mayor que 90: if (score_txt.

cadenas o variables.El resultado de la comparación. } else { trace("good morning"). } Operador mayor o igual que (ge) (cadenas) expression1 ge expression2 Desfasado desde Flash Player 5. Compara la representación de cadena de expression1 con la representación de cadena de expression2 y devuelve true si expression1 es mayor o igual que expression2.getHours() >= 12) { trace("good afternoon"). el operador de mayor o igual que (>=) se emplea para determinar si la hora actual es mayor o igual que 12: if (new Date().Valor devuelto Boolean .El resultado booleano de la comparación. cadenas o variables. Este operador está desfasado y en su lugar debe utilizarse >= (mayor o igual que). Operandos expression1 : Object expression2 : Object . false. Ejemplo En el ejemplo siguiente. . Valor devuelto Boolean . Véase también Operador mayor o igual que (>=) 132 Elementos del lenguaje ActionScript .Números.Números.

x++. 1. while (i++ < 5) { trace("this is execution " + i). ++x. un elemento de una matriz o una propiedad de un objeto. //rastrea x:2 //rastrea y:2 La forma de incremento posterior del operador aumenta x hasta 2 (x + 1 = 2) y devuelve el valor original de x como el resultado de y: var x:Number = var y:Number = trace("x:"+x). La expression puede ser una variable.El resultado del incremento. La forma de incremento posterior del operador (expression++) suma 1 de expression y devuelve el valor inicial expression (el valor antes de la suma). } /* salida: this is execution 1 this is execution 2 this is execution 3 this is execution 4 this is execution 5 */ Operadores 133 . trace("y:"+y). La forma de incremento previo del operador (++expression) suma 1 de expression y devuelve el resultado. trace("y:"+y). 1. The pre-increment form of the operator increments x to 2 (x + 1 = 2) and returns the result as y: var x:Number = var y:Number = trace("x:"+x). Ejemplo El ejemplo siguiente utiliza ++ como operador de incremento posterior para hacer que un bucle while se ejecute cinco veces: var i:Number = 0. Valor devuelto Number . //rastrea x:2 //rastrea y:1 Operandos expression : Number .Operador incremento (++) ++expresión expression++ Operador unario de incremento previo e incremento posterior que añade 1 a expression.Número o variable que da como resultado un número.

5. el resultado es false.4. var i:Number = 0.6.4.push(i++). la definición de igual depende de los tipos de datos que se comparan.8.toString()).9 El ejemplo siguiente utiliza ++ como operador de incremento posterior en un bucle for: // utiliza un bucle for var a:Array = new Array().5.5.El ejemplo siguiente utiliza ++ como operador de incremento previo: var a:Array = new Array().2. //rastrea: 1. var i:Number = 0.7.4.8.10 Este script muestra el siguiente resultado en el panel Salida: 1.1.push(i). Los objetos. tal y como se muestra en la siguiente lista: ■ ■ ■ Los números.9.9.7. } trace(a.toString()).6.2. //rastrea 0.push(i).5.3. i <= 10.8. ++i) { a.3.10 Este ejemplo también utiliza ++ como operador de incremento previo. Una variable se compara por su valor o referencia.7.9.3.7.3.toString()).3.6. for (var i = 1.5. i<10. cadenas y valores booleanos se comparan por su valor.3. en función de su tipo. Como ocurre con el operador de igualdad (==).2.2. matrices y funciones se comparan por su referencia.8.7.1.9 Este script muestra el siguiente resultado en el panel Salida: 0.toString()). 134 Elementos del lenguaje ActionScript .6.9 Operador desigualdad (!=) expression1 != expression2 Prueba el contrario exacto del operador de igualdad (==).push(++i).1.4. //rastrea: 1. while (i<10) { a.7. i++) { a. } trace(a.8.8. //rastrea 0. for (var i = 0.10 El ejemplo siguiente utiliza ++ como operador de incremento posterior en un bucle while: // utiliza un bucle while var a:Array = new Array(). } trace(a. var a:Array = [].2.2.6. Si expression1 es igual que expression2.4.5. } trace(a. while (i<10) { a.4.6.

No se comparan los valores dentro del objeto. Ejemplo El ejemplo siguiente ilustra el resultado del operador de desigualdad (!=): trace(5 != 8).Un número. // devuelve true trace(5 != 5) //devuelve false El ejemplo siguiente ilustra el uso del operador de desigualdad (!=) en una sentencia if: var a:String = "David". Si se comparan por su valor y expression1 y expression2 tienen tipos de datos distintos. matriz o función. matriz o función. Por ejemplo. cadena. objeto. // foo trace(a != b).La comparación por su valor significa que dos expresiones tienen el mismo valor. }. a(). // foo b(). Operandos expression1 : Object . ActionScript intentará convertir el tipo de datos de expression2 para que coincida con el de expression1. // true a = b. matriz o función. variable. objeto. variable. }.Un número. la expresión (2 + 3) es igual que la expresión (1 + 4) si se comparan sus valores. a(). valor booleano. // foo trace(a != b). } El ejemplo siguiente ilustra la comparación por referencia con dos funciones: var a:Function = function() { trace("foo"). var b:String = "Fool". La comparación por su referencia significa que dos expresiones son únicamente iguales si ambas hacen referencia al mismo objeto. cadena. var b:Function = function() { trace("foo"). if (a != b) { trace("David is not a fool"). Valor devuelto Boolean . expression2 : Object función. valor booleano. matriz o .El resultado booleano de la comparación. // foo b(). // false // rastrea el resultado de la sentencia: foo foo true foo foo false Operadores 135 .

Operandos expression1 : Object . en función de su tipo. Operador OR lógico (||). 3 ]. trace(a). la definición de igual depende de los tipos de datos que se comparan: ■ ■ ■ Los números. Operador igualdad estricta (===) Operador desigualdad (<>) expression1 <> expression2 Desfasado desde Flash Player 5.2. 2.2. 3 trace(b). Operador AND lógico (&&). 2. Las variables se comparan por su valor o por referencia. cadenas y valores booleanos se comparan por su valor.2. 3 ]. valor booleano. matriz o función. variable. 2.2. cadena. 2. // 1.Un número.3 1. 2.El ejemplo siguiente ilustra la comparación por referencia con dos matrices: var a:Array = [ 1. objeto. matrices y funciones se comparan por su referencia. Los objetos.3 1. // 1.Un número. Valor devuelto Boolean . 3 trace(a!=b). var b:Array = [ 1. // true a = b. variable. Si expression1 es igual que expression2.3 true 1. objeto. Adobe recomienda que utilice el operador != (inequality). matriz o . Prueba el contrario exacto del operador de igualdad (==).3 false Véase también Operador NOT lógico (!). Operador igualdad (==). Como ocurre con el operador de igualdad (==). // false // rastrea el resultado de la sentencia: 1. Véase también Operador desigualdad (!=) 136 Elementos del lenguaje ActionScript . 3 trace(b). valor booleano. el resultado es false. // 1. Operador desigualdad estricta (!==). 2. trace(a).El resultado booleano de la comparación. Este operador está desfasado. // 1. expression2 : Object función. 3 trace(a != b). cadena.

Si object es una instancia o una subclase de classConstructor. Operadores 137 . Si expression1 es mayor o igual que expression2. .Un número o cadena.Una referencia a una función constructora de ActionScript. instanceof devuelve true. Operandos object : Object . _global instanceof Object devuelve false.Un número o cadena. Además. el operador devuelve true. Las expresiones de cadena se evalúan por orden alfabético. El operador instanceof no convierte tipos de datos simples en objetos envolventes. Por ejemplo. classConstructor : Function . todas las letras mayúsculas preceden a las minúsculas. Mientras que el código siguiente devuelve false: "Hello" instanceof String. Operandos expression1 : Number expression2 : Number . Valor devuelto Boolean . como String o Date. si lo es. el código siguiente devuelve true: new String("Hello") instanceof String. el operador devuelve false. Véase también Operador typeof Operador menor que (<) expression1 < expression2 Compara dos expresiones y determina si expression1 es menor que expression2. de lo contrario devuelve false.Operador instanceof object instanceof classConstructor Comprueba si object es una instancia de classConstructor o una subclase de classConstructor.Un objeto ActionScript.

// false trace("Allen" < "Jack"). // true Operador menor que (lt) (cadenas) expression1 lt expression2 Desfasado desde Flash Player 5. // true trace(10 < 3). Este operador está desfasado y en su lugar debe utilizarse < (menor que). //false trace("11" < "3"). Ejemplo Los ejemplos siguientes muestran resultados de true y false para comparaciones numéricas y de cadena: trace(3 < 10).El resultado booleano de la comparación. // true trace("11" < 3). Operandos expression1 : Object expression2 : Object .Números.El resultado de la comparación. de lo contrario devuelve false. // true trace("A" < "a"). // false (comparación numérica) trace("C" < "abc").Valor devuelto Boolean . cadenas o variables. . // true trace("Jack" < "Allen").Números. Véase también Operador menor que (<) 138 Elementos del lenguaje ActionScript . cadenas o variables. Valor devuelto Boolean . Compara expression1 con expression2 y devuelve truesi expression1 es menor que expression2.

Números.El resultado booleano de la comparación.Operador menor o igual que (<=) expression1 <= expression2 Compara dos expresiones y determina si expression1 es menor o igual que expression2. si lo es. // false trace("Allen" <= "Jack").Un número o cadena.Números. Operadores 139 . // true trace(10 <= 3). Este operador está desfasado y en su lugar debe utilizarse <= (menor o igual que). Si expression1 es mayor que expression2. el operador devuelve true. // true trace("11" <= 3). Las expresiones de cadena se evalúan por orden alfabético. cadenas o variables. Operandos expression1 : Object expression2 : Object . . . // true trace(2 <= 2). Ejemplo Los ejemplos siguientes muestran resultados de true y false para comparaciones numéricas y de cadena: trace(5 <= 10). cadenas o variables. Compara expression1 con expression2 y devuelve un valor de true siexpression1 es menor o igual que expression2. el operador devuelve false. // true trace("Jack" <= "Allen"). // true trace("A" <= a). Valor devuelto Boolean . todas las letras mayúsculas preceden a las minúsculas.Un número o cadena. // true Operador menor o igual que (le) (cadenas) expression1 le expression2 Desfasadodesde Flash Player 5. de lo contrario devuelve false. Operandos expression1 : Object expression2 : Object . // false trace("11" <= "3"). // false (comparación numérica) trace("C" <= "abc").

Ejemplo El script siguiente utiliza delimitadores de comentario para identificar la primera._y. Véase también Operador menor o igual que (<=) Operador delimitador de comentario de línea (//) // comment Indica el principio de un comentario de script._x.Cualquier carácter.Valor devuelto Boolean . // registra la posición X del clip de película bat var batX:Number = bat_mc._y._x. quinta y séptima líneas como comentarios: // registra la posición X del clip de película ball var ballX:Number = ball_mc. // registra la posición XY del clip de película ball var ballY:Number = ball_mc. Los caracteres que aparecen entre el delimitador de comentario (//)) y el carácter de final de línea se interpretan como un comentario y el interpretador de ActionScript los omite. Véase también Operador delimitador de comentario en bloque (/*) 140 Elementos del lenguaje ActionScript . // registra la posición XY del clip de película ball var batY:Number = bat_mc.El resultado de la comparación. Operandos comment . tercera.

Operador desigualdad (!=). el resultado final es true. Ejemplo El ejemplo siguiente utiliza el operador AND lógico (&&) para realizar una prueba para determinar si un jugador ha ganado la partida. Si expression2 da como resultado true. Operador OR lógico (||). Operador igualdad (==).Un valor booleano o una expresión que se convierta en un valor . La expresión evalúa true&&true true true&&false false false&&false false false&&true false Operandos expression1 : Number . } // salida: You Win the Game! Véase también Operador NOT lógico (!). Operador desigualdad estricta (!==). Evalúa expression1 (la expresión en la parte izquierda del operador) y devuelve false si la expresión da como resultado false. La variable turns y la variable score se actualizan cuando un jugador juega o gana puntos durante el juego. } else { trace("Try Again!").Un resultado booleano de la operación lógica.Operador AND lógico (&&) expression1 && expression2 Ejecuta una operación booleana en los valores una de las expresiones o en ambas. El script muestra "You Win the Game!" en el panel Salida cuando la puntuación del jugador llega a 75 o más en tres jugadas o menos. expression2 : Number booleano.Un valor booleano o una expresión que se convierta en un valor booleano. Si expression1 da como resultado true. Operador igualdad estricta (===) Operadores 141 . de lo contrario es false. var score:Number = 77. var turns:Number = 2. se evalúa expression2 (la expresión en la parte derecha del operador. Valor devuelto Boolean . if ((turns <= 3) && (score >= 75)) { trace("You Win the Game!").

Operador AND lógico (and) condition1 and condition2 Desfasado desde Flash Player 5.condition2Condiciones o expresiones que dan como resultado true o false. Adobe recomienda el uso del operador lógico AND (&&)). . Si las dos expresiones dan como resultado true. 142 Elementos del lenguaje ActionScript .condition1.condition2Condiciones o expresiones que dan como resultado true o false. Si la expresión x && y da como resultado false. el valor de !expression es false. condition2 : Boolean Valor devuelto Boolean .El resultado booleano de la operación lógica. Véase también Operador AND lógico (&&) Operador NOT lógico (!) ! expression Invierte el valor booleano de una variable o expresión. la expresión !(x && y) da como resultado true. Las siguientes expresiones ilustran el resultado del uso del operador NOT lógico (!): ! true devuelve false! false devuelve true Operandos expression : Boolean . toda la expresión será true.condition1. Si expression es una variable con el valor absoluto o convertido true.Expresión o variable que da como resultado un valor booleano.Un resultado booleano de la operación lógica. Valor devuelto Boolean . Operandos condition1 : Boolean . Realiza una operación de AND lógica (&&)en Flash Player 4.

la sentencia trace() envía una cadena al panel Salida. Ejecuta una operación NOT (!) lógica en Flash Player 4. be happy } La sentencia realiza seguimiento porque !false es igual a true.El resultado de la operación lógica. de lo contrario es true. if (!happy) { trace("don't worry. var happy:Boolean = false. Operandos expression : Object - Una variable u otra expresión que se convierte en un valor booleano. Véase también Operador desigualdad (!=). Operador AND lógico (&&). Operador igualdad estricta (===) Operador NOT lógico (not) not expression Desfasado desde Flash Player 5. Operador igualdad (==). Si expression1 da como resultado false. be happy"). Operador desigualdad estricta (!==). Si expression2 da como resultado false. // rastrea don't worry. Véase también Operador NOT lógico (!) Operador OR lógico (||) expression1 || expression2 Evalúa expression1 (la expresión en la parte izquierda del operador) y devuelve true si la expresión da como resultado true. la variable happy se establece como false. Operador OR lógico (||). Operadores 143 . La condición if da como resultado la condición !happy y. se evalúa expression2 (la expresión en la parte derecha del operador. el resultado final es false. Este operador está desfasado y en su lugar debe utilizarse ! (logical NOT). si la condición es true. Valor devuelto Boolean .Ejemplo En el ejemplo siguiente.

. expression2 : Number booleano. El resultado es true si una o ambas expresiones dan como resultado true. } function fx2():Boolean { trace("fx2 called"). el resultado es true. se ejecutará el bloque if. ese resultado se devolverá sin evaluar la expresión de la derecha (no se llamará a la función fx2()). Si la expresión de la izquierda del operador da como resultado true. Puede utilizar el operador OR lógico con cualquier número de operandos. Ejemplo El ejemplo siguiente utiliza el operador lógico OR (||) en una sentencia if. return true. var y:Number = 250.Si utiliza una llamada de función como expression2. Si bien las otras dos expresiones dan como resultado false. if ((x > 25) || (y > 200) || (start)) { trace("the logical OR test passed"). Operandos expression1 : Number .Un valor booleano o una expresión que se convierta en un valor . return true.El resultado de la operación lógica. esa llamada no ejecutará la función si expression1 da como resultado true. La segunda expresión da como resultado true. por lo que el resultado final es true: var x:Number = 10.Un valor booleano o una expresión que se convierta en un valor booleano. // salida: the logical OR test passed } El mensaje que ha pasado la prueba de OR lógico aparece porque una de las condiciones de la sentencia if es true (y>200). } 144 Elementos del lenguaje ActionScript . var start:Boolean = false. function fx1():Boolean { trace("fx1 called"). si alguno de los operandos da como resultado true. el resultado sólo será false si ambas expresiones dan como resultado false. Valor devuelto Boolean . El ejemplo siguiente demuestra cómo el uso de una llamada de función como expression2 puede producir resultados imprevistos. siempre que una condición dé como resultado true.

el operador de módulo (%) intenta convertirlos en números. . Por ejemplo. El signo del resultado de la operación de módulo coincide con el signo del dividendo (el primer número). Este operador está desfasado y en su lugar debe utilizarse || (logical OR). -4 % 3 y -4 % -3 dan ambos como resultado -1.Expresión que da como resultado true o false. Operador OR en modo bit (|) Operador módulo (%) expression1 % expression2 Calcula el resto de expression1 dividido entre expression2. toda la expresión es true. Operador AND lógico (&&). Operadores 145 . y si alguna es true. Operador desigualdad (!=). Evalúa condition1 y condition2. Operador igualdad (==). } /* Se envía la siguiente información al panel Salida: /* Se envía la siguiente información al archivo de registro: fx1 llamó a la sentencia IF introducida */ Véase también Operador NOT lógico (!). Si uno de los parámetros expression es no numérico. Operador igualdad estricta (===) Operador OR lógico (or) condition1 or condition2 Desfasado desde Flash Player 5.Expresión que da como resultado true o false. Valor devuelto Boolean . Véase también Operador OR lógico (||).El resultado de la operación lógica. Operador desigualdad estricta (!==).if (fx1() || fx2()) { trace("IF statement entered"). expression puede ser un número o una cadena que se convierte en un valor numérico. Operandos condition1 : Boolean condition2 : Boolean .

round (método Math. Valor devuelto Number . and x = x % y.Número o expresión que da como resultado un número.4. Operandos expression1 : Number expression2 : Number . // salida: 4 146 Elementos del lenguaje ActionScript . // rastrea 0. Las dos sentencias siguientes son equivalentes: x %= y.0999999999999996 en lugar del previsto 0. porque el operador de módulo (%) sólo devuelve el resto.round) Operador asignación de módulo (%=) expression1 %= expression2 Asigna a expression1 el valor de expression1 % expression2. Véase también Operador división (/).El resultado de la operación aritmética.Número o expresión que da como resultado un número. // rastrea 0 El primer trace devuelve 2.Número o expresión que da como resultado un número.Operandos expression1 : Number expression2 : Number . en lugar de 12/5 o 2.0999999999999996 trace(4%4).1). // rastrea 2 trace(4. var y:Number = 5. Valor devuelto Number . . Ejemplo El siguiente ejemplo numérico utiliza el operador de módulo (%)): trace(12%5).1 debido a las limitaciones en la precisión de coma flotante del cálculo binario.Número o expresión que da como resultado un número.3%2. trace(x %= y).El resultado de la operación aritmética. . El segundo trace devuelve 0. Ejemplo El ejemplo siguiente asigna el valor de 4 a la variable x: var x:Number = 14.

el producto es un entero. .Número o expresión que da como resultado un número. 6.Número o expresión que da como resultado un número.1416).1416: trace(2.2832. Si una o ambas expresiones son números de coma flotante. Ejemplo Sintaxis 1: La sentencia siguiente multiplica los enteros 2 y 3: trace(2*3).0 y 3. es un entero. 6. Operador asignación de multiplicación (*=) expression1 *= expression2 Asigna a expression1 el valor de expression1 * expression2. el producto es un número de coma flotante. Sintaxis 2: Esta sentencia multiplica los números de coma flotante 2.Número o expresión que da como resultado un número. Si ambas expresiones son enteros.Véase también Operador módulo (%) Operador multiplicación (*) expression1 * expression2 Multiplica dos expresiones numéricas. Valor devuelto Number . es un número de coma flotante. las dos expresiones siguientes son equivalentes: x *= y x = x * y Operandos expression1 : Number expression2 : Number . // salida: 6.Un entero o un número de coma flotante.2832 El resultado. // salida: 6 El resultado.0*3.Número o expresión que da como resultado un número. . Operandos expression1 : Number expression2 : Number . Operadores 147 . Por ejemplo.

Ejemplo Sintaxis 1: El ejemplo siguiente asigna el valor 50 a la variable x: var x:Number = 5. El operador new pasa a la función parámetros opcionales entre paréntesis. // salida: -14 Véase también Operador multiplicación (*) Operador new new constructor() Crea un objeto nuevo. function Book(name. Ejemplo El ejemplo siguiente crea la función Book() y. price){ this. Number o Object) que se va a construir.name = name. 148 Elementos del lenguaje ActionScript . a continuación. devuelve NaN (no es un número). i + 2.6. la función constructor puede utilizar this para establecer las variables del objeto. // salida: 50 Sintaxis 2: La segunda y tercera líneas del ejemplo siguiente calculan las expresiones de la parte derecha del signo igual y asignan los resultados a x e y: var i:Number = var x:Number = var y:Number = trace(x *= y). utiliza el operador new para crear los objetos book1 y book2.Una función seguida de parámetros opcionales entre paréntesis. var y:Number = 10.Valor devuelto Number . inicialmente anónimo. así como el objeto recién creado. al que se hace referencia utilizando la palabra clave this. Operandos constructor : Object . 4 .El valor de expression1 * expression2 .price = price. Si una expresión no puede convertirse en un valor numérico. this. y llama a la función identificada por el parámetro constructor. trace(x *= y). 5. A continuación. Array. La función suele ser el nombre del tipo de objeto (por ejemplo.

. El ejemplo siguiente utiliza el operador new para crear un objeto Array con 18 elementos: golfCourse_array = new Array(18). Utilizar este operador equivale a utilizar la nueva sintaxis de new Object y llenar los pares de propiedades con el operador de asignación. Operador inicializador de objeto ({}) Operador distinto (ne) (cadenas) expression1 ne expression2 Desfasadodesde Flash Player 5. Este operador está desfasado y en su lugar debe utilizarse != (inequality). Operandos expression1 : Object expression2 : Object . name2 : value2 .. Véase también Operador acceso a matriz ([]). switch) y funciones. if. El prototipo del objeto recién creado se denomina de forma genérica el objeto Object.95). Véase también Operador desigualdad (!=) Operador inicializador de objeto ({}) object = { name1 : value1 . cadenas o variables.. Compara expression1 con expression2 y devuelve true si expression1 no es igual que expression2. ..Números. 19. else.. Operadores 149 .Devuelve true si expression1 es distinto de expression2.expressionN]} Crea un nuevo objeto y lo inicializa con los pares de propiedades name y value. book2 = new Book("The Floating Opera". Este operador se utiliza además para marcar bloques de código contiguo asociado con sentencias de control de flujo (for. while. cadenas o variables.95). 10. [. y false en caso contrario. de lo contrario devuelve false. Valor devuelto Boolean .} book1 = new Book("Confederacy of Dunces". nameN : valueN } {expression1.Números.

Valor devuelto Object - Sintaxis 1: Un objeto Object. person.. name1. person.children[2] = "Puppa".. person.Operandos object : Object . "Chickie".children[0] = "Ruby".children = new Array(). Ejemplo La primera línea del código siguiente crea un objeto vacío utilizando el operador de inicializador de objeto ({}). excepto cuando una función tiene una sentencia return explícita. address:"600 Townsend Street". zip:"94103". zip y balance con los valores correspondientes: var account:Object = {name:"Macromedia. "Puppa")..name = "Gina Vechio".El objeto que se va a crear. person.N Los nombres de las propiedades. children:["Ruby". person. state. city:"San Francisco". Sintaxis 2: Ninguno. Inc.children[1] = "Chickie". El ejemplo ActionScript anterior también se puede escribir con el formato siguiente: var person:Object = new Object(). 150 Elementos del lenguaje ActionScript . city.children = new Array("Ruby". } El ejemplo siguiente muestra cómo pueden anidarse los inicializadores de objeto y matriz entre sí: var person:Object = {name:"Gina Vechio"." + i + " = " + account[i]). en cuyo caso el tipo devuelto se especifica en la implementación de la función. person.2.name = "Gina Vechio".". value1. address.2. balance:"1000"}. "Puppa"]}. la segunda línea crea un objeto nuevo empleando una función constructora: var object:Object = {}. El ejemplo siguiente utiliza la información del ejemplo anterior y produce el mismo resultado utilizando las funciones constructoras: var person:Object = new Object(). El ejemplo siguiente crea una account de objeto e inicializa las propiedades name.. person. "Chickie".. state:"California".N Los valores correspondientes para cada propiedad name. var object:Object = new Object()... for (i in account) { trace("account.

. separadas por comas. . Sintaxis 2: Da como resultado una serie de expresiones. parameterN) Ejecuta una operación de agrupación en uno o varios parámetros. Sintaxis 1: Controla el orden de ejecución de los operadores en la expresión. Operandos expression1 : Object expression2 : Object function : Function . parameter1. Cuando se anidan los paréntesis. variables o texto. en una secuencia y devuelve el resultado de la expresión final.Véase también Object Operador paréntesis (()) (expression1 [. / / escribe 19 Operadores 151 .parameterN : Object ..Números. Sintaxis 3: Rodea uno o varios parámetros y los pasa como parámetros a la función que está fuera del paréntesis. variables o texto. cadenas. Ejemplo Sintaxis 1: Las sentencias siguientes muestran el uso de los paréntesis para controlar el orden de ejecución de las expresiones (el valor de cada expresión aparece en el panel Salida): trace((2 + 3)*(4 + 5))...Una serie de parámetros que se ejecutará antes de que se pasen los resultados como parámetros a la función que está fuera del paréntesis.. // muestra 45 trace((2 + 3) * (4 + 5)). Los paréntesis sustituyen el orden de precedencia normal y pueden hacer que las expresiones entre paréntesis se evalúen primero. // escribe 45 trace(2 + (3 * (4 + 5))). // // muestra 29 trace(2 + (3 * (4 + 5))). . expression2) function (parameter1.. expression2]) (expression1.Números. el contenido de los paréntesis más interiores se evalúa antes que el contenido de los más exteriores. // muestra 19 trace(2 + (3 * 4) + 5).Función que se ejecutará sobre el contenido del paréntesis. / / // escribe 29 trace(2+(3*4)+5). cadenas. lleva a cabo una evaluación secuencial de las expresiones o rodea uno o varios parámetros y los pasa como parámetros a una función fuera del paréntesis.

// devuelve 23 Sintaxis 3: El ejemplo siguiente muestra el uso de paréntesis con funciones: var today:Date = new Date(). objeto. } function bar() { b *= 10. var b:Number = 2. objeto. matriz o función. } trace((foo(). Dos de estas variables son iguales si hacen referencia al mismo objeto.Un número. cadena. function foo() { a += b. el operador de igualdad estricta (===) hace lo mismo que el operador de igualdad (==) con la diferencia de que los tipos de datos no se convierten. matriz o . //rastrea 4 Véase también Sentencia with Operador igualdad estricta (===) expression1 === expression2 Comprueba la igualdad de dos expresiones. incluidos sus tipos de datos. variable. La definición de igual depende del tipo de datos del parámetro: ■ Los valores numéricos y booleanos se comparan por su valor y se consideran iguales si tienen el mismo valor. matriz o función. a continuación.Sintaxis 2: El ejemplo siguiente evalúa la función foo() y. } traceParameter(2 * 2). Las expresiones de cadena son iguales si tienen el mismo número de caracteres y éstos son idénticos. El resultado es true si ambas expresiones. la función bar(). a + b)). matrices y funciones se comparan por su referencia. // rastrea el año actual function traceParameter(param):Void { trace(param). valor booleano. y devuelve el resultado de la expresión a + b: var a:Number = 1. variable. aunque tengan el mismo número de elementos. Dos matrices independientes nunca se consideran iguales. expression2 : Object función.getFullYear()). Las variables que representan objetos. valor booleano.Un número. trace(today. cadena. ■ ■ Operandos expression1 : Object . 152 Elementos del lenguaje ActionScript . bar(). son iguales.

// El operador de igualdad no distingue entre literales. // true trace(string1 === bool1). // Crea una variable que sea una referencia var stringRef:String = new String("asdf"). // true trace(string1 === string2). // true // El operador de igualdad estricta distingue entre las variables que son referencias // y los literales y variables trace(stringRef === "asdf"). var string2:String = "5". // true // La introducción automática de datos en este ejemplo convierte 5 en "5" var string1:String = "5". // false trace(stringRef === str). // false Operadores 153 .Valor devuelto Boolean . Ejemplo Los comentarios del código siguiente muestran el valor devuelto de operaciones que utilizan los operadores de igualdad y de igualdad estricta: // Los dos devuelven true. var num:Number = 5. Esta es una razón para utilizar en todo momento literales de cadena y evitar el uso del operador new con la clase String. trace(string1 == bool2). // false // La introducción automática de datos en este ejemplo convierte false en "0" var string1:String = "0". // true trace(stringRef == str). // Crea una variable string con un valor literal var str:String = "asdf". // true trace("asdf" == str). ya que no se realiza ninguna conversión var string1:String = "5". // true trace(string1 === bool2). var bool1:Boolean = true. trace(string1 == num). trace(string1 == bool1). // false // La introducción automática de datos en este ejemplo convierte true en "1" var string1:String = "1". // true trace(string1 === num). trace(string1 == string2).El resultado booleano de la comparación. var bool2:Boolean = false. // false Los ejemplos siguientes muestran cómo el operador de igualdad estricta trata las variables que son referencias de forma distinta a las variables que contienen valores literales. variables // ni referencias trace(stringRef == "asdf").

con la diferencia de que no se convierten los tipos de datos. de igualdad estricta (===) y de desigualdad estricta (!==): var s1:String = "5". // true trace(s1 == s3). valor booleano. // false trace(s1 == n). var b:Boolean = true. matriz o función. Operador OR lógico (||). el resultado es false. objeto. Si expression1 es igual que expression2 y sus tipos de datos son iguales. Operador desigualdad estricta (!==).El resultado booleano de la comparación.Véase también Operador NOT lógico (!). // false 154 Elementos del lenguaje ActionScript .Un número. cadena. variable. Operador AND lógico (&&).Un número. Valor devuelto Boolean . // true trace(s1 == b). matrices y funciones se comparan por su referencia. Operador desigualdad (!=). valor booleano. expression2 : Object función. tal y como se muestra en la siguiente lista: ■ ■ ■ Los números. El operador de desigualdad estricta realiza lo mismo que el operador de desigualdad. Una variable se compara por su valor o referencia. Los objetos. var s3:String = "Hello". Operandos expression1 : Object . en función de su tipo. var s2:String = "5". variable. var n:Number = 5. objeto. la definición de igual depende de los tipos de datos que se comparan. matriz o . Operador igualdad (==) Operador desigualdad estricta (!==) expression1 !== expression2 Prueba el contrario exacto del operador de igualdad estricta (===). Como ocurre con el operador de igualdad estricta (===). cadenas y valores booleanos se comparan por su valor. trace(s1 == s2). Ejemplo Los comentarios del código siguiente muestran el valor devuelto de operaciones que utilizan los operadores de igualdad (==). cadena.

Operador igualdad (==). Ejemplo El ejemplo siguiente utiliza comillas (") para indicar que el valor de la variable yourGuess es la cadena literal "Prince Edward Island" y no el nombre de una variable. Operador AND lógico (&&). para determinar el valor de province es necesario localizar el valor de yourGuess. // true b). Operador OR lógico (||). // false s3). no un literal. // false b).trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 trace(s1 === === === === !== !== !== !== s2). submit_btn. // true n). // false s2).Una secuencia de cero o más caracteres. las comillas (") indican que los caracteres tienen un valor literal y se consideran una cadena y no una variable ni un valor numérico ni otro elemento de ActionScript. var yourGuess:String = "Prince Edward Island". Operador desigualdad (!=). El valor de province es una variable. Operandos text : String . }. Función String Operadores 155 .onRelease = function() { trace(yourGuess). // true Véase también Operador NOT lógico (!). // muestra Prince Edward Island en el panel Salida // escribe Prince Edward Island en el archivo de registro Véase también String. // false n). // true s3). Operador igualdad estricta (===) Operador delimitador de cadena (") "text" Si se utilizan antes y después de caracteres.

invierte el signo de la expression numérica. ejecuta una resta aritmética en dos expresiones numéricas. el resultado es NaN (que no es número).25-1. x = x . Por ejemplo.75 El resultado.expression2 Se emplea para negar o restar. Valor devuelto Number . es un número de coma flotante.5).Número o expresión que da como resultado un número. . Sintaxis 2: Si se utiliza para restar. Operandos expression1 : Number expression2 : Number .y. 3. Operador asignación de resta (-=) expression1 -= expression2 Asigna a expression1 el valor de expression1. la diferencia es un entero. en caso contrario.Operador resta (-) (Negation) -expression (Subtraction) expression1 . 156 Elementos del lenguaje ActionScript . Ejemplo Sintaxis 1: La sentencia siguiente invierte el signo de la expresión 2 + 3: trace(-(2+3)).25: trace(3. la diferencia es un número de coma flotante. Si una o ambas expresiones son números de coma flotante. 1. // salida: -5 Sintaxis 2: La sentencia siguiente resta el entero 2 del entero 5: trace(5-2). Si ambas expresiones son enteros. restando expression2 a expression1.expression2.Un entero o un número de coma flotante.5 del número de coma flotante 3.Número o expresión que da como resultado un número. Las expresiones de cadenas deben convertirse a números. // salida: 1. // salida: 3 El resultado.75. las dos sentencias siguientes son equivalentes: x -= y . Sintaxis 1: Si se utiliza para negar. Sintaxis 3: La sentencia siguiente resta el número de coma flotante 1. es un entero.

Los tipos son una función sólo de compilación..Número o expresión que da como resultado un número. trace(x).Operandos expression1 : Number expression2 : Number . este operador especifica el tipo de variable. trace(x). x -= y. } function functionName (parameter1:type . Todos los tipos se comprueban durante la compilación y se generan errores cuando hay una discordancia.. x -= y. este operador especifica el tipo de la variable.Número o expresión que da como resultado un número. var y:Number = 10. .El resultado de la operación aritmética. este operador especifica el tipo de devolución de la función. Pueden producirse discordancias durante las operaciones de asignación. // salida: -5 El ejemplo siguiente muestra cómo se convierten las cadenas en números: var x:String = "5". . Para evitar errores de discordancia de tipo. } Se utiliza en la técnica "strict data typing". llamadas a funciones y eliminación de referencias a miembros de clase con el operador de punto (. este operador especifica el tipo de variable que se espera para dicho parámetro. Operadores 157 ... utilice "strict data typing". Ejemplo El ejemplo siguiente utiliza el operador de asignación de resta (-=)) para restar 10 de 5 y asigna el resultado a la variable x: var x:Number = 5. var y:String = "10". el tipo de devolución de función o el tipo de parámetro de función. cuando se utiliza en una declaración o definición de función.. parameterN:type) [:type ]{ . . cuando se utiliza con un parámetro de función en una definición de función.. Cuando se utiliza en una asignación o declaración de variable. Valor devuelto Number . // salida: -5 Véase también Operador resta (-) Operador type (:) [ modifiers ] var variableName : type function functionName () : type { .).

Number y String. Function y Void. Véase también Sentencia var. type . Sintaxis 3: El ejemplo siguiente define una función llamada squareRoot() que toma un parámetro llamado val de tipo Number y devuelve la raíz cuadrada de val. nombre de clase definido o nombre de interfaz.Identificador de una variable.Tipo de datos nativo. } trace(squareRoot(121)). } trace(randomInt(8)).Los tipos que pueden utilizarse son todos los tipos de objetos nativos. clases e interfaces definidas por el usuario.Un identificador de una función. Sintaxis 2: El ejemplo siguiente muestra cómo especificar el tipo de parámetro de una función definiendo una función llamada randomInt() que toma un parámetro llamado integer de tipo Number: function randomInt(integer:Number):Number { return Math.random()*integer). parameter .round(Math. también de tipo Number: function squareRoot(val:Number):Number { return Math. Operandos variableName : Object . Ejemplo Sintaxis 1: El ejemplo siguiente declara una variable pública llamada userName cuyo tipo es String y le asigna una cadena vacía: var userName:String = "". Los tipos nativos reconocidos son Boolean.Un identificador de un parámetro de función. También se admiten como tipos nativos todas las clases incorporadas. functionName .sqrt(val). Sentencia function 158 Elementos del lenguaje ActionScript .

Function.Expresión que se va a evaluar. descarta su valor. Tipo de expresión Cadena Clip de película Button Campo de texto Number Boolean Object Function Resultado string movieclip object object number boolean object function Véase también Operador instanceof Operador void void expression El operador void evalúa una expresión y. devolviendo undefined. Operandos expression : Object .Una representación de String del tipo de expression. Valor devuelto String . Object.Operador typeof typeof(expression) El operador typeof evalúa expression y devuelve una cadena que especifica si la expresión es String. a continuación. objeto o función. El operador void se emplea a menudo en comparaciones utilizando el operador == para comprobar valores no definidos.Una cadena. Operadores 159 . La tabla siguiente muestra los resultados del operador typeof en cada tipo de expression. MovieClip. o valor Boolean. clip de película. Operandos expression : Object . botón. Number.

in function 160 Elementos del lenguaje ActionScript . Define una clase que es una subclase de otra clase. Define una clase personalizada que permite crear instancias de objetos que comparten métodos y propiedades definidas por el usuario. inicia una secuencia de reproducción indefinida.. Define una condición de la sentencia switch. Por ejemplo. Destruye la referencia de objeto especificada por el parámetro reference y devuelve true si se elimina la referencia correctamente. Salta por encima de todas las sentencias restantes en el bucle más interior e inicia la siguiente repetición del bucle como si se hubiera pasado el control hasta el final del bucle de la forma habitual. for.while owhile) o en un bloque de sentencias asociadas con un determinado caso de una sentencia switch. la última es la superclase. Consta de un conjunto de sentencias que se definen para ejecutar una determinada tarea. La sentencia switch crea una estructura ramificada para sentencias de ActionScript. La sentencia if evalúa una condición para determinar la siguiente acción que debe realizarse. con la diferencia de que las sentencias se ejecutan una vez antes de la evaluación inicial de la condición.Sentencias Las sentencias son elementos del lenguaje que realizan o especifican una acción. la sentencia return devuelve un resultado como valor de la función en la que se ejecuta..in. devuelve false. Especifica las sentencias que se ejecutarán si la condición en la sentencia if devuelve false. Evalúa una condición y especifica las sentencias que se ejecutarán si la condición en la sentencia if inicial devuelve false.. case class continue default delete do. do. a continuación. Define el caso predeterminado de una sentencia switch..while dynamic else else if extends for for. de lo contrario. Especifica que el objeto basado en la clase especificada puede añadir propiedades dinámicas y acceder a ellas en tiempo de ejecución. Repite las propiedades de un objeto o los elementos de una matriz y ejecuta statement para cada propiedad o elemento. Similar al bucle while. Resumen de sentencias Sentencia break Descripción Aparece en un bucle (for. Evalúa la expresión init (inicializar) una vez y.

Genera o emite un error que puede controlarse o capturarse mediante un bloque de código catch{}. Evalúa una condición y. if implements import interface intrinsic private public return set set variable static super switch throw try. Permite verificar en tiempo de compilación los tipos de clases definidas anteriormente. a var while Se utiliza para declarar variables locales o de la línea de tiempo. responda al error. continuación..Sentencia get Descripción Permite la obtención implícita de propiedades asociadas con objetos basados en las clases definidas en archivos de clase externos. Define una interfaz. Asigna un valor a una variable. Especifica que una variable o función esté únicamente disponible para la clase que la declara o define o para las subclases de dicha clase..finally Incluya un bloque de código en el que puede producirse un error y. Invoca la versión de superclase de un método o constructor. Especifica que una clase debe definir todos los métodos declarados en la interfaz o interfaces que se están implementando. Especifica que una variable o función se cree únicamente una sola vez por cada clase. Especifica que una variable o función esté disponible para cualquier origen de llamada. en lugar de crearse en cada objeto basado en dicha clase. ejecuta una sentencia o serie de sentencias antes de volver a ejecutar el bucle para evaluar la condición nuevamente. Permite especificar un objeto (como un clip de película) con el parámetro object y evaluar expresiones y acciones en dicho objeto con el parámetro statement(s). Crea una estructura ramificada para sentencias de ActionScript.catch. Permite el establecimiento implícito de propiedades asociadas con objetos basados en las clases definidas en archivos de clase externos. Evalúa una condición para determinar la siguiente acción en un archivo SWF. with Sentencias 161 . si ésta da como resultado true. Permite acceder a las clases sin especificar sus nombres completos. Especifica el valor devuelto por una función.

Cuando se utiliza en una sentencia switch. // esto terminará/saldrá del bucle } i++. Para salir de toda una serie de bucles anidados. la sentencia break ordena a Flash que omita el resto de sentencias en ese bloque de sentencias case y que salte a la primera sentencia que vaya a continuación del bloque switch. Cuando se utiliza en un bucle. if (i >= 10) { break. } que obtiene el resultado siguiente: 0 1 2 3 4 5 6 7 8 9 10 Véase también Sentencia for 162 Elementos del lenguaje ActionScript .finally. do. sería infinito: var i:Number = 0. la sentencia break ordena a Flash que omita el resto del cuerpo del bucle. Ejemplo El ejemplo siguiente utiliza la sentencia break para salir de un bucle que.. for. debe usar try. la sentencia break sólo omite el resto del bucle inmediato...Sentencia break break Aparece en un bucle (for..catch. En bucles anidados. while (true) { trace(i).in. de otro modo. detenga la acción de bucle y ejecute la sentencia a continuación de la sentencia de bucle.while owhile) o en un bloque de sentencias asociadas con un determinado caso de una sentencia switch. no toda la serie de bucles anidados.

Si el parámetro expression es igual que el parámetro expression de la sentencia switch que utiliza igual estricta (===). break. break. Parámetros expression:String . } Véase también Sentencia break Sentencias 163 . se produce un error y el script no se compila.getMonth(). Flash Player ejecutará sentencias en el parámetro statement(s) hasta que encuentre una sentencia break o el final de la sentencia switch. case 1 : trace("February"). Ejemplo El ejemplo siguiente define condiciones para la sentencia switch thisMonth.Cualquier expresión. break. var thisMonth:Number = new Date(). break. Si omite break statement del parámetro statement(s).Sentencia case case expression : statement(s) Define una condición de la sentencia switch. se ejecutará la sentencia. default : trace("some other month"). continúa ejecutándose con la siguiente sentencia case en la lugar de salir de la sentencia switch. switch (thisMonth) { case 0 : trace("January"). Nota:debería finalizar siempre el parámetro statement(s) con una sentencia break. Si se utiliza la sentencia case fuera de una sentencia switch. case 5 : case 6 : case 7 : trace("Some summer month"). case 8 : trace("September"). Si thisMonth es igual que la expresión de la sentencia case.

utilice la palabra clave extends.Nombre completo de la clase. De otro modo.. utilice la palabra clave implements.as. Por ejemplo.MyClass. se encuentra en el paquete predeterminado y el archivo MyClass. El nombre del archivo externo debe ser el nombre de la clase con la extensión de archivo . si está desarrollando un sistema de seguimiento de facturas. Para indicar que los objetos pueden añadir propiedades dinámicas y acceder a ellas en tiempo de ejecución.as.as debería situarse en el nivel superior de algún directorio de la ruta. En el siguiente ejemplo se muestran diversos usos habituales de las palabras claves implements y extends: class C implements Interface_i.. si se denomina a una clase Student. Por ejemplo. Si una clase está contenida en un paquete.as. Por este motivo. deberá modificar las sentencias de declaración de clases para reflejar su nueva ubicación. como base/sub1/sub2/MyClass. No es posible anidar definiciones de clase. interfaceName. el archivo AS de la clase debe almacenarse en la ruta de una estructura de directorios que refleje la estructura del paquete. Para crear subclases de una clase. incluya la palabra clave dynamic antes de la sentencia class. (Una clase sólo puede ampliar una clase pero puede implementar varias interfaces.Sentencia class [dynamic] class className [ extends superClass ] [ implements interfaceName[. el archivo que defina la clase debe denominarse Student. es aconsejable planificar una estructura de directorios antes de empezar a crear clases. Class_e // Incorrecto Parámetros className:String . Si la definición de la clase tiene el formato "class MyClass". la declaración de clase debe utilizar el nombre completo con el formato base. si decide mover archivos de clases después de crearlos. El nombre de la clase debe coincidir con el nombre del archivo externo que contiene la clase. Interface_j // Correcto class C extends Class_d. 164 Elementos del lenguaje ActionScript .sub2. ] ] { // class definition here} Define una clase personalizada que permite crear instancias de objetos que comparten métodos y propiedades definidas por el usuario. Interface_j // Correcto class C extends Class_d implements Interface_i. no se pueden definir clases adicionales en una definición de clase. Utilizaría entonces el nuevo comando new invoice() para crear objetos invoice.sub1. Para declarar que una clase implemente una interfaz. es decir.) Puede utilizar las palabras clave implements y extends en una sola sentencia. Además. podría crear una clase invoice (factura) que defina todos los métodos y propiedades que debería tener cada factura.

// Nombre de archivo Plant. trace(pineTree. } } En un archivo de script externo o en el panel Acciones. init:Object) { var listenerObject:Object = new Object().bloomSeason = param_bloomSeason. param_bloomSeason:String) { // Asigna los valores transferidos a las propiedades cuando se haya creado el nuevo objeto Plant this. El constructor ImageLoader utiliza tres parámetros. utilice el operador new para crear un objeto Plant.as class ImageLoader extends MovieClip { function ImageLoader(image:String. var pineTree:Plant = new Plant("Evergreen". var bloomSeason:String.onLoadInit = function(target) { for (var i in init) { target[i] = init[i]. this. // Nombre de archivo ImageLoader. Sentencias 165 .leafType = param_leafType. target_mc:MovieClip.as class Plant { // Define los nombres y los tipos de las propiedades var leafType:String.Ejemplo En el siguiente ejemplo se crea una clase llamada Plant.getLeafType()). ya que la práctica más recomendable // no es hacer referencia directa a la propiedad de una clase function getLeafType():String { return leafType. El constructor Plant utiliza dos parámetros.getBloomSeason()). En el siguiente ejemplo se crea una clase llamada ImageLoader. listenerObject. // Confirma que los parámetros se han pasado correctamente trace(pineTree. } function getBloomSeason():String { return bloomSeason. } // Crea métodos para devolver valores de la propiedad. } }. // La siguiente línea es el constructor // porque tiene el mismo nombre que la clase function Plant(param_leafType:String. "N/A").

{_x:10. No tiene ningún efecto fuera de un bucle. } trace(i). while (i<10) { if (i % 3 == 0) { i++. utilice el operador new para crear un objeto ImageLoader. JPEG_mcl. var i:Number = 0. target_mc).com/flash/ images/image1. Ejemplo En el siguiente bucle while.helpexamples. var jakob:ImageLoader = new ImageLoader("http://www. _y:10.var JPEG_mcl:MovieClipLoader = new MovieClipLoader(). } } En un archivo de script externo o en el panel Acciones.jpg".getNextHighestDepth()). continue.addListener(listenerObject). _alpha:70. i++. _rotation:-5}). var jakob_mc:MovieClip = this. this. Véase también Sentencia dynamic Sentencia continue continue Salta por encima de todas las sentencias restantes en el bucle más interior e inicia la siguiente repetición del bucle como si se hubiera pasado el control hasta el final del bucle de la forma habitual. donde se comprueba la condición: trace("example 1").createEmptyMovieClip("jakob_mc".loadClip(image. JPEG_mcl. } 166 Elementos del lenguaje ActionScript . continue hace que el intérprete de Flash omita el resto del cuerpo del bucle y salte a la parte superior del bucle. jakob_mc.

for (var i = 0. } trace(i). var i:Number = 0. donde se procesa el siguiente valor de la numeración: for (i in _root) { if (i == "$version") { continue.while Sentencias 167 . } En el siguiente bucle for.while.. i++) { if (i % 3 == 0) { continue. continue hace que el intérprete de Flash omita el resto del cuerpo del bucle y salte a la parte inferior del bucle. } Véase también Sentencia do. continue hace que el intérprete de Flash omita el resto del cuerpo del bucle.. do { if (i % 3 == 0) { i++. En un bucle for. } while (i < 10). se omitirá la sentencia trace(i): trace("example 3"). i<10. } trace(i).En el siguiente bucle do. i++. } trace(i). continue hace que el intérprete de Flash omita el resto del cuerpo del bucle y salte otra vez a la parte superior del bucle. donde se comprueba la condición: trace("example 2"). En el ejemplo siguiente..in. continue. si el módulo i 3 es igual a 0.

se produce un error y el script no se compila. break. Las sentencias se ejecutan si el parámetro expression de la sentencia switch no equivale (mediante la operación de igualdad estricta [===]) a ninguno de los parámetros expression que siguen a las palabras claves case de una determinada sentencia switch. Parámetros statements:String . break. } Véase también Sentencia switch 168 Elementos del lenguaje ActionScript . case 5 : trace("Friday"). case 4 : trace("Thursday"). break.getDay(). case 2 : trace("Tuesday"). var dayOfWeek:Number = new Date().Cualquier sentencia. No es necesario que la sentencia switch tenga una sentencia case default. por lo que se ejecuta la sentencia que sigue a la palabra clave default y la sentencia trace() se envía al panel Salida. la expresión A no es igual a las expresiones B o D. Si se utiliza una sentencia default fuera de una sentencia switch. Ejemplo En el ejemplo siguiente. break. case 3 : trace("Wednesday"). default : trace("Weekend").Sentencia default default : sentencias Define el caso predeterminado de una sentencia switch. break. Una sentencia case default no tiene que ser necesariamente la última de la lista. switch (dayOfWeek) { case 1 : trace("Monday").

Valor devuelto Boolean . Parámetros reference:Object . Puede utilizar el operador delete para eliminar referencias a objetos. El operador delete puede no ejecutarse correctamente y devolver false si el parámetro reference no existe o no puede eliminarse. de lo contrario. Ejemplo Sintaxis 1: El ejemplo siguiente crea un objeto.name). suele utilizarse como una sentencia.name = "Jon". // elimina la propiedad delete account. Aunque delete es un operador.Nombre de la variable o del objeto que se va a eliminar.name). Tras eliminar todas las referencias a un objeto. No pueden eliminarse los objetos y propiedades predefinidos. lo utiliza y lo elimina cuando ya no es necesario: var account:Object = new Object(). tal y como se muestra en el siguiente ejemplo: delete x. trace(account. ni las variables declaradas en una función con la sentencia var.Sentencia delete delete reference Destruye la referencia de objeto especificada por el parámetro reference y devuelve true si se elimina la referencia correctamente. Este operador es útil para liberar la memoria que utilizan los scripts.name. account.name = "Jon". //salida: undefined Sintaxis 2: El ejemplo siguiente elimina una propiedad de un objeto: // crea el nuevo objeto "account" var account:Object = new Object(). // asigna el nombre de la propiedad a la cuenta account. No se puede utilizar el operador delete para eliminar clips de película.balance = 10000. account.Valor booleano. trace(account. Flash Player se encarga de eliminar el objeto y de liberar la memoria utilizada por dicho objeto. //salida: Jon delete account. Sentencias 169 . devuelve false.

while.name).while es infinito. Aunque esto también puede realizarse con un bucle while colocando una copia de las sentencias que se van a ejecutar antes de que se inicie el bucle while. no hay referencias al objeto. // my_array.. Si la condición da siempre como resultado true. trace("ref1. Las sentencias a continuación sólo se ejecutan si la condición da como resultado true.length == 3 // my_array[2] se elimina.name). // my_array. Siempre que sea posible.. pero Array. 170 Elementos del lenguaje ActionScript .def. el objeto se habría eliminado cuando se eliminó ref1 porque no habría referencias a él.while garantiza que el código dentro del bucle se ejecutará al menos una vez. Un bucle do.while. // salida: abc. Véase también Sentencia var Sentencia do. con la diferencia de que las sentencias se ejecutan una vez antes de la evaluación inicial de la condición.length). muchos programadores creen que es más fácil leer los bucles do. trace(my_array. habrá problemas con Flash Player y finalmente se obtendrá un mensaje de advertencia o se bloqueará el reproductor.Sintaxis 3: El ejemplo siguiente elimina una propiedad de un objeto: var my_array:Array = new Array(). delete ref1. // copia la variable de referencia en una nueva variable // y elimina ref1 ref2 = ref1. ref1. Aunque es fácil leer y depurar los bucles for. // my_array..undefined Sintaxis 4: El ejemplo siguiente muestra el comportamiento de delete en referencias de objeto: var ref1:Object = new Object(). Si se introduce un bucle infinito. //salida: ref1. Si elimina ref2.length == 1 my_array[1] = "def".. //salida: ref2.name "+ref2. // salida: 3 trace(my_array). no siempre pueden sustituir a los bucles do.length no cambia delete my_array[2]. que se destruirá y la memoria que ocupaba quedará disponible. utilice un bucle for si sabe el número de veces que desea ejecutar el bucle.name = "Jody". my_array[0] = "abc".name Jody Si no se hubiera copiado ref1 en ref2.while do { statement(s) } while (condition) Similar al bucle while.length == 2 my_array[2] = "ghi".name undefined trace("ref2.name "+ref1.. el bucle do.

La verificación de tipos en clases dinámicas es menos estricto que en clases no dinámicas porque los miembros a los que se accede dentro de la definición de clase y en instancias de la clase no se comparan con los definidos en el ámbito de la clase.. } while (myVar < 5). Ejemplo El ejemplo siguiente utiliza un bucle do.while para evaluar si una condición es true.createTextField(). y realiza un seguimiento de myVar hasta myVar que es mayor que 5. do { trace(myVar). Sin embargo.La condición que se va a evaluar. por ejemplo. mediante MovieClip. ] ] { // class definition here } Especifica que el objeto basado en la clase especificada puede añadir propiedades dinámicas y acceder a ellas en tiempo de ejecución. Este comportamiento es especialmente útil cuando se trabaja con objetos MovieClip. /* salida: 0 1 2 3 4 */ Véase también Sentencia break Sentencia dynamic dynamic class className [ extends superClass ] [ implements interfaceName[.. Las statement(s) dentro del bloque de código do se ejecutan siempre que el parámetro condition de como resultado true . Las subclases de clases dinámicas son también dinámicas. myVar++. Sentencias 171 . porque hay varias formas de añadir propiedades y objetos a un clip de película dinámicamente.Parámetros condition:Boolean .createEmptyMovieClip() y MovieClip. pueden verificarse los tipos return y parameter de las funciones de miembros de clase. interfaceName. Cuando myVar es mayor que 5. var myVar:Number = 0. el bucle termina..

dance = true craig.dance = true.name = param_name. la clase Person2 aún no se ha marcado como dinámica. como se muestra en el ejemplo siguiente: trace(""). this.age = 32 craig. Obtendrá el resultado siguiente: craig.age = 32 craig. for (i in craig) { trace("craig. var age:Number. } } En un archivo FLA o AS que se encuentre en el mismo directorio." + i + " = " + craig[i]). añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: // Antes de añadir contenido dinámico var craig:Person2 = new Person2("Craiggers".Ejemplo En el ejemplo siguiente. 32). craig. Total ActionScript Errors: 1 Reported Errors: 1 */ Añada la palabra clave dynamic a la clase Person2. craig. } /* salida: **Error** Scene=Scene 1. dance. se generará un error.name = Craiggers Véase también Sentencia class 172 Elementos del lenguaje ActionScript . de modo que la primera línea aparezca de este modo: dynamic class Person2 { Pruebe el código de nuevo. this. frame=1:Line 14: There is no property with the name 'dance'." + i + " = " + craig[i]). function Person2(param_name:String.age = param_age. param_age:Number) { trace ("anything"). layer=Layer 1. } /* salida: craig.dance = true. for (i in craig) { trace("craig.name = Craiggers */ Si añade una función no declarada. por lo que al llamar a una función no declarada en ella se genera un error en tiempo de compilación: class Person2 { var name:String.

Véase también Sentencia if Sentencia else if if (condition){ statement(s).} Evalúa una condición y especifica las sentencias que se ejecutarán si la condición en la sentencia if inicial devuelve false. el intérprete de Flash ejecuta las sentencias que hay entre llaves ({}). user"). debería pensar en la posibilidad de utilizar una sentencia switch.text>=18) { trace("welcome. Si la condición else if devuelve true. userObject. Parámetros condition:Boolean . junior"). } En el ejemplo siguiente las llaves (({})) no son necesarias porque sólo una sentencia sigue a la sentencia else: if (age_txt. a continuación de la condición. } else trace("sorry. Utilice la sentencia elseif para crear una lógica ramificada en los scripts.accessAllowed = false. } else if (condition){ statement(s). user").Expresión que da como resultado true o false. Las llaves ({}) que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia else no son necesarias si sólo se va a ejecutar una sentencia. Sentencias 173 .Sentencia else if (condition){ statement(s). } Especifica las sentencias que se ejecutarán si la condición en la sentencia if devuelve false. } else { trace("sorry. Ejemplo En el ejemplo siguiente se utiliza la condición else para comprobar si la variable age_txt es mayor o menor que 18: if (age_txt. Parámetros condition:Boolean . } else { statement(s). userObject.text>18) { trace("welcome. Si la condición else if es false. junior"). Flash omite las sentencias entre llaves y ejecuta las sentencias que hay a continuación. Si hay varias ramas.Expresión que da como resultado true o false.minor = true.

var color:String. El ejemplo siguiente muestra el contenido de un archivo llamado Vehicle. } else { trace("F"). Define una clase que es una subclase de otra clase. param_color:String) { 174 Elementos del lenguaje ActionScript . la última es la superclase. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. Si el script crea una instancia de un objeto Car.Ejemplo El ejemplo siguiente utiliza sentencias else if para comparar score_txt con un valor especificado: if (score_txt.text>90) { trace("A"). } else if (score_txt. etc. podrán utilizarse los métodos de la clase Car y de la clase Vehicle. debe especificar ActionScript 2. Una interfaz que amplía otra interfaz incluye todas las declaraciones del método de la interfaz original.as. } else if (score_txt. propiedades. Las interfaces también pueden ampliarse con la palabra clave extends. la clase Car amplía la clase Vehicle de modo que se hereden todos sus métodos. } Véase también Sentencia if Sentencia extends Sintaxis 1: class className extends otherClassName {} Sintaxis 2: interface interfaceName extends otherInterfaceName {} Nota: para utilizar esta palabra clave.0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. La subclase hereda todos los métodos. definidos en la superclase. Parámetros className:String . funciones. function Vehicle(param_numDoors:Number.text>60) { trace("C").text>75) { trace("B").Nombre de la clase que se define. que define la clase Vehicle: class Vehicle { var numDoors:Number. Ejemplo En el ejemplo siguiente. propiedades y funciones.

"Red".color = param_color.fullSizeSpare = param_fullSizeSpare. en el mismo directorio. } function activateCarAlarm():Void { trace("[Car] activateCarAlarm").color = param_color. En segundo lugar. que activa la alarma antirrobo del coche. param_fullSizeSpare:Boolean) { this. } } El ejemplo siguiente crea una instancia de un objeto Car. class Car extends Vehicle { var fullSizeSpare:Boolean. this. } } El ejemplo siguiente muestra un segundo archivo AS. this. modificándola de tres formas. myNewCar.activateCarAlarm(). activateCarAlarm().as. luego llama al método anulado por la clase Car (stop()) y. añade un nuevo método específico de coches. anula la función stop()para añadir el hecho de que la clase Car utiliza un sistema de frenado ABS para detenerse. // salida: [Car] activateCarAlarm Sentencias 175 . true). } function start():Void { trace("[Vehicle] start"). } function reverse():Void { trace("[Vehicle] reverse"). function Car(param_numDoors:Number. En tercer lugar.this. llama a un método de la clase Car (activateCarAlarm()): var myNewCar:Car = new Car(2.numDoors = param_numDoors. la clase Car añade una variable fullSizeSpare para realizar un seguimiento de si el objeto car tiene una rueda de repuesto a tamaño completo. } function stop():Void { trace("[Vehicle] stop").stop(). param_color:String. // salida: [Car] stop with anti-lock brakes myNewCar. } function stop():Void { trace("[Car] stop with anti-lock brakes"). por último. // salida: [Vehicle] start myNewCar. Esta clase amplía la clase Vehicle. llamado Car. llama a un método definido en la clase Vehicle (start()). this.start().numDoors = param_numDoors. En primer lugar.

llamado Truck. llama a un método definido en la clase Vehicle (stop()): var myTruck:Truck = new Truck(2. } function reverse():Void { beep(). this. function Truck(param_numDoors:Number. El ejemplo siguiente muestra un tercer archivo AS. condition. también en el mismo directorio. "White". } } El ejemplo siguiente crea una instancia del objeto Truck. 18). next) { statement(s).También se puede escribir una subclase de la clase Vehicle utilizando la palabra clave super. Si la expresión condition da como resultado true. llama a un método anulado por la clase Truck (reverse()) y. La secuencia de reproducción indefinida se inicia evaluando la expresión condition. inicia una secuencia de reproducción indefinida. Las llaves ({}) que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia for no son necesarias si sólo se va a ejecutar una sentencia.as.reverse().numWheels = param_numWheels. } Evalúa la expresión init (inicializar) una vez y. param_color:String. La secuencia de reproducción indefinida se inicia nuevamente con la evaluación de la expresión condition. param_color). } function beep():Void { trace("[Truck] make beeping sound"). se ejecuta statement y se evalúa la expresión next. // salida: [Vehicle] stop Véase también Sentencia class Sentencia for for(init. 176 Elementos del lenguaje ActionScript .reverse(). super. param_numWheels:Number) { super(param_numDoors. La clase Truck utiliza la palabra clave super en el constructor y también en la función reverse() anulada. myTruck. // salida: [Truck] make beeping sound [Vehicle] reverse myTruck. a continuación.stop(). class Truck extends Vehicle { var numWheels:Number. que puede utilizar la subclase para acceder a propiedades y métodos de la superclase. a continuación.

} Repite las propiedades de un objeto o los elementos de una matriz y ejecuta statement para cada propiedad o elemento. } trace(sum).60. i < 10. las propiedades de clip de película como _x e _y no se enumeran. los miembros estáticos no pueden enumerarse.90. el bucle for añade los números de 1 a 100. for (var i:Number = 1.in for (variableIterant in object) { ] statement(s). // salida: 50.in. En el código.Parámetros init . i++) { my_array[i] = (i + 5) * 10.130. Por ejemplo. Algunas propiedades no pueden enumerarse mediante la acción for. trace(sum). normalmente es una expresión de asignación.110.... i++) { sum += i.100. } trace(my_array). a diferencia de los miembros de instancias. // salida: 5050 Véase también Operador incremento (++) Sentencia for.in. Sentencias 177 . i <= 100. for (var i:Number = 0. var sum:Number = 0. En este parámetro también se permite la sentencia var. // salida: 5050 El ejemplo siguiente muestra que las llaves ({}) no son necesarias si sólo se va a ejecutar una sentencia: var sum:Number = 0. En archivos de clase externos.120. for (var i:Number = 1.Expresión que se va a evaluar antes de iniciar la secuencia de reproducción indefinida. i++) sum += i. Los métodos de un objeto no se enumeran mediante la acción for.80. Ejemplo El ejemplo siguiente utiliza for para añadir los elementos a una matriz: var my_array:Array = new Array().70.140 El ejemplo siguiente utiliza for para realizar la misma acción repetidamente. i <= 100.

in repite las propiedades de los objetos de la cadena prototipo del objeto repetido.firstName = Tara myObject.in no enumera el mismo nombre de propiedad dos veces..city = San Francisco En el siguiente ejemplo se utiliza for.in no son necesarias si sólo se va a ejecutar una sentencia. } //salida myObject. for (var prop in myObject) { trace("myObject.. los miembros de instancias estarán disponibles. Primero se enumeran las propiedades del objeto. luego las propiedades de su prototipo inmediato y seguidamente las propiedades del prototipo del prototipo.. si escribe un bucle for. Si escribe un bucle for. La sentencia for.. age:27.in para repetir los elementos de una matriz: var myArray:Array = new Array("one".. // salida: myArray[2] = three myArray[1] = two myArray[0] = one El ejemplo siguiente utiliza el operador typeof con for. pero no los miembros estáticos. Si el objeto child tiene un prototipo parent y ambos contienen la propiedad prop. Sin embargo. "three"). Ejemplo En el siguiente ejemplo se utiliza for.in en un archivo FLA para una instancia de la clase. } } 178 Elementos del lenguaje ActionScript .age = 27 myObject. pero sí los miembros estáticos. la sentencia for..in a la que se llama en child enumera la propiedad prop correspondiente a child pero ignora la de parent.La sentencia for. for (var index in myArray) trace("myArray["+index+"] = " + myArray[index]). "two". city:"San Francisco"}... Las llaves ({}) que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia for. haciendo referencia a cada propiedad de un objeto o elemento de una matriz.in para repetir un determinado tipo de elemento secundario: for (var name in this) { if (typeof (this[name]) == "movieclip") { trace("I have a movie clip child named "+name). y así sucesivamente.Nombre de una variable que actuará como repetidor."+prop+" = "+myObject[prop]). los miembros de instancias no estarán disponibles para el bucle. Parámetros variableIterant:String ..in en un archivo de clase (un archivo AS externo).in para repetir las propiedades de un objeto: var myObject:Object = {firstName:"Tara".

parameter1. parameters y statement(s). Esta sintaxis se utiliza en expresiones y es especialmente útil para instalar métodos en objetos. Una definición de función sustituye cualquier definición anterior de la misma función. en un mismo script. Cuando defina una función. El objeto arguments suele utilizarse para crear una función que acepte un número variable de parámetros y para crear una función anónima recursiva. _GreenRadioButton_.parameterN]){ statement(s) } Consta de un conjunto de sentencias que se definen para ejecutar una determinada tarea. puede utilizar el objeto arguments en la definición de la función.gotoAndStop(2). También puede utilizar esta sentencia para crear una función anónima y devolverle una referencia. y _BlueRadioButton_: for (var name in RadioButtonGroup) { RadioButtonGroup[name]. El clip de película RadioButtonGroup es un elemento principal con tres secundarios. _RedRadioButton_. puede además especificar parámetros para dicha función. Utilice la sentencia return en sentencias (statement(s)) de una función para que ésta genere o devuelva un valor.. Para añadir funcionalidad. parameter1.. Puede utilizar esta sintaxis donde se permita una sentencia.. Puede utilizar esta sentencia para definir una función (function) con los valores especificados de functionname. una función puede declararse después de llamarse. se ejecutan las sentencias de la definición de la función.)function functionname([parameter0. El ejemplo siguiente enumera los elementos secundarios de un clip de película y envía cada uno al fotograma 2 en sus líneas de tiempo respectivas. el resultado consiste en los nombres de instancia de esos clips. Los parámetros son marcadores de posición de los valores sobre los que opera la función. } Sentencia function Sintaxis 1: (Declara una función con nombre...parameterN]){statement(s)}Sintaxis 2: (Declara una función anónima y devuelve una referencia. Sentencias 179 . Puede definir una función en una ubicación e invocarla o llamarla desde distintos scripts de un archivo SWF.)function ([parameter0. Puede pasar distintos parámetros a una función cada vez que la llame para poder reutilizar una misma función en situaciones diferentes.Nota: si tiene varios clips de película. Cuando un script llama a una función. Se permite la creación de referencias hacia delante..

del parámetro: function sqr(x:Number) { return Math. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. 180 Elementos del lenguaje ActionScript . } La función siguiente crea un objeto LoadVars y carga params.onLoad = function(success:Boolean) { trace("variables loaded").txt en el archivo SWF.pow(x. trace(y).pow(x. // salida: 9 Si se define y utiliza la función en el mismo script. } Sentencia get function get property () { // aquí van sus sentencias } Nota: para utilizar esta palabra clave. myLV. 2). myLV.load("params. trace(y). debe especificar ActionScript 2. Cuando el archivo se carga correctamente.Sintaxis 1: El formulario de declaración no devuelve nada. } var y:Number = sqr(3). se realiza un seguimiento de variables cargadas (variables loaded): var myLV:LoadVars = new LoadVars().pow(x. // salida: 9 function sqr(x:Number) { return Math. que acepta un parámetro y devuelve Math.Valor devuelto String . la definición de función puede aparecer después de usar la función: var y:Number = sqr(3). Ejemplo 2) El ejemplo siguiente define la función sqr. Parámetros functionname:String . 2).Nombre de la función declarada. Sintaxis 2: Una referencia a la función anónima.0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA.txt").

giants. utilice el método get para devolver el valor de la propiedad. var teamPlayers:Array = new Array().teamName = param_name. "SFO"). . Los métodos get/set implícitos son la abreviatura sintáctica del método Object.teamCode = param_code. Véase también addProperty (método Object. El uso de métodos get implícitos permite acceder a propiedades de los objetos sin necesidad de acceder directamente a la propiedad. trace(giants. /* salida: San Fran San Francisco */ Cuando realiza un seguimiento de giants. } function set name(param_name:String):Void { this. Parámetros property:String get.addProperty() en ActionScript 1. function Team(param_name:String. La clase Team incluye métodos get/set que permiten recuperar y establecer propiedades dentro de la clase: class Team { var teamName:String. this. } } Introduzca el código ActionScript siguiente en un fotograma de la línea de tiempo: var giants:Team = new Team("San Fran".addProperty) Sentencias 181 .name = "San Francisco". trace(giants.name).name). } function get name():String { return this. var teamCode:String. param_code:String) { this.Permite la obtención implícita de propiedades asociadas con objetos basados en las clases definidas en archivos de clase externos.name. Ejemplo En el ejemplo siguiente se define una clase Team.teamName.Palabra que se utiliza para hacer referencia a la propiedad a la que accede este valor debe coincidir con el valor utilizado en el comando set correspondiente.teamName = param_name.

_parent.autoSize = true. message_txt. this. } El ejemplo siguiente utiliza una sentencia if para evaluar cuánto tarda un usuario en hacer clic en la instancia submit_btn en un archivo SWF. la condición dará como resultado false y aparecerá otro mensaje. this.getNextHighestDepth. Parámetros condition:Boolean . if(name == "Erica"){ play(). } Evalúa una condición para determinar la siguiente acción en un archivo SWF.submit_btn.onRelease = function() { var difference:Number = (getTimer() . 100. se ejecutará la función play() dentro de las llaves.startTime) / 1000.createTextField("message_txt". Las llaves ({}) que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia if no son necesarias si sólo se va a ejecutar una sentencia. Flash omite las sentencias entre llaves y ejecuta las sentencias que hay a continuación. 0. Si lo tiene. this. la condición dará como resultado true y aparecerá el mensaje dentro de las llaves ({}) en un campo de texto que se crea en tiempo de ejecución (utilizando createTextField()). var startTime:Number = getTimer().". if (difference > 10) { this. } 182 Elementos del lenguaje ActionScript . 22). you took "+difference+" seconds.text = "Not very speedy.message_txt. a continuación de la condición. 0.Expresión que da como resultado true o false. Si un usuario hace clic en el botón más de 10 segundos después de que se reproduzca el archivo SWF.Sentencia if if (condition){ statement(s). Ejemplo En el ejemplo siguiente. Si el usuario hace clic en el botón menos de 10 segundos de que se reproduzca el archivo SWF. Si la condición es true. la condición dentro de los paréntesis evalúa la variable name para comprobar si tiene el valor literal "Erica". Utilice la sentencia if junto con las sentencias else y else if para crear una lógica ramificada en los scripts. Flash ejecuta las sentencias que hay entre llaves ({}). Si la condición es false.

UserClass = new macr. debe referirse a ella por su nombre completo o importarla.users.users. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. Véase también Sentencia class Sentencia import import className import packageName.util. interface02 .0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. Especifica que una clase debe definir todos los métodos declarados en la interfaz o interfaces que se están implementando. Véase también Sentencia else Sentencia implements myClass implements interface01 [.users. Permite acceder a las clases sin especificar sus nombres completos. debe especificar ActionScript 2.UserClass en un script.util. Ejemplo Véase interface. si la importa. } }.. Sentencias 183 . .". you hit the button in "+difference+" seconds._parent. var myUser:UserClass = new UserClass(). si desea utilizar una clase personalizada macr. puede referirse a ella por el nombre de clase: // antes de la importación var myUser:macr. debe especificar ActionScript 2.else { this.0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. así como con archivos de clases externas.. // después de la importación import macr.util.UserClass().util. Esta sentencia es compatible con el panel Acciones.UserClass.text = "Very good.users. Por ejemplo.] Nota: para utilizar esta palabra clave.* Nota: para utilizar esta palabra clave.message_txt.

Si hay varios archivos de clase en el paquete (working_directory/macr/utils/users) a los que desea acceder. Eso significa que puede importar grandes paquetes sin preocuparse del tamaño del archivo SWF. en otro script del fotograma necesitaría hacer referencia a las clases del paquete por sus nombres completos (var myFoo:foo = new macr.*. el código de bytes asociado con una clase se incluye en un archivo SWF únicamente si dicha clase se utiliza realmente.util. Debe emitir la sentencia import antes de intentar acceder a la clase importada sin especificar su nombre completo. Si importa una clase pero no la utiliza en el script. supongamos que importa todas las clases del paquete macr. debe especificar ActionScript 2. puede importarlos todos en una sola sentencia. la clase no se exporta como parte del archivo SWF. puede hacer referencia a las clases del paquete por sus nombres simples: // En el fotograma 1 de un archivo FLA: import macr. Parámetros className:String .util.users. Por ejemplo. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. tal y como se muestra en el siguiente ejemplo: import macr. Sin embargo.foo(). Sentencia interface interface InterfaceName [extends InterfaceName ] {} Nota: para utilizar esta palabra clave.0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA.util. 184 Elementos del lenguaje ActionScript . var myFoo:foo = new foo(). En dicho fotograma. La sentencia import sólo se aplica al script actual (fotograma u objeto) en el que se llama.util en el fotograma 1 de un documento de Flash.Nombre completo de una clase definida en un archivo de clase externo.*.) o añadir una sentencia import al otro fotograma que importa las clases en dicho paquete.

// sólo la declaración del método function n(x:Number):Number. Sólo se permiten miembros públicos en una definición de interfaz. Es decir. Ic. } } // error: la clase debe implementar todos los métodos de la interfaz // nombre de archivo Ib. D.k()). Ib. no se permiten miembros de instancias ni de clases. trace(mvar. pero presenta estas diferencias importantes: ■ Las interfaces sólo contienen declaraciones de métodos. B. C. } function n(x:Number):Number { return x + 5. En las definiciones de interfaces no se permiten las sentencias get ni set. ■ ■ Ejemplo El ejemplo siguiente muestra varias formas de definir e implementar interfaces: (in top-level package .as interface Ia { function k():Number.as interface Ib { function o():Void. Ib { function k():Number { return 15. } class D implements Ia.n(7)). E) // nombre de archivo Ia. } Sentencias 185 . } } // script externo o panel Acciones // archivo de script var mvar:B = new B().as class B implements Ia { function k():Number { return 25. } function n(x:Number):Number { return x * x.Define una interfaz. Una interfaz es similar a una clase.as class C implements Ia { function k():Number { return 25. // 12 // nombre de archivo c. no su implementación. // 25 trace(mvar. // sin implementación } // nombre de archivo B. cada clase que implementa una interfaz debe proporcionar una implementación para cada método declarado en la interfaz.as files Ia.

] ] { //la definición de la clase va aquí } Permite verificar en tiempo de compilación los tipos de clases definidas anteriormente. } } Véase también Sentencia class Sentencia intrinsic intrinsic class className [extends superClass] [implements interfaceName [..k()). } class E implements Ib. } } // script externo o panel Acciones // archivo de script mvar = new D()..n(7)). // "o" interface Ic extends Ia { function p():Void. Ic { function k():Number { return 25.o()). La palabra clave intrinsic también puede emplearse con declaraciones de variable y función. // 49 trace(mvar. } function n(x:Number):Number { return x + 5. Flash utiliza declaraciones de clase intrinsic para permitir la comprobación de tipos de clases incorporadas en tiempo de compilación. } function o():Void { trace("o").function o():Void { trace("o"). interfaceName. Flash utiliza esta palabra clave para permitir la comprobación de tipos en tiempo de compilación para funciones y propiedades globales. 186 Elementos del lenguaje ActionScript . como Array. } function p():Void { trace("p"). Esta palabra clave indica al compilador que no se requiere una implementación de función y que no se debe generar ningún código de bytes para ella. // 15 trace(mvar. trace(mvar. Object y String.

}. this.radius.getDiameter = function() { return 2*this. así como variables y funciones globales.0. Puede evitar el error cambiando el parámetro por un valor de número (Number) (por ejemplo. } } // Código de ActionScript 2. cambiando "10" por 10).as // que resida dentro de la ruta de clases: intrinsic class Circle { var radius:Number. function getArea():Number.PI*this. function Circle(radius:Number).0 definida anteriormente.setRadius = function(param_radius) { this. this. function getDiameter():Number. } // Esta definición de la clase de ActionScript 1.0 function Circle(radius) { this.radius = radius. trace(myCircle. // La clase Circle se define con ActionScript 1.getArea()).setRadius() envía un valor de cadena (String) como parámetro en lugar de un valor de número (Number).0 puede insertarse en el archivo FLA. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones.radius*this.La palabra clave intrinsic se ha creado específicamente para permitir la comprobación de tipos en tiempo de compilación para clases y objetos incorporados. this. Esta palabra clave no se ha diseñado par uso general. Ejemplo El ejemplo siguiente muestra cómo permitir la comprobación de archivos en tiempo de compilación para una clase ActionScript 1. // El siguiente código debe insertarse en un archivo llamado Circle.getArea = function(){ return Math. El código generará un error de tiempo de compilación porque la llamada myCircle. }. function setRadius(param_radius:Number):Number.radius = param_radius. Sentencias 187 .0 que utiliza la clase Circle var myCircle:Circle = new Circle(5). especialmente si las clases se definen empleando ActionScript 1. aunque puede tener cierto valor para desarrolladores que desean permitir la comprobación de tipos en tiempo de compilación con clases definidas anteriormente.radius.

getArea()). trace(myCircle. } public function get username():String { 188 Elementos del lenguaje ActionScript . param_password:String) { this. Puede utilizar esta palabra clave únicamente en definiciones de clases. Palabra clave.as: class Login { private var loginUserName:String. Ejemplo El siguiente ejemplo muestra cómo se pueden ocultar ciertas propiedades de una clase con la palabra clave private. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. Utilice esta palabra clave si desea restringir el acceso a una variable o función. Cree un archivo AS nuevo llamado Login. private function name() { // las sentencias van aquí } } Nota: para utilizar esta palabra clave. this. trace(myCircle. debe especificar ActionScript 2.setRadius("10").getDiameter()).0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. public function Login(param_username:String.trace(myCircle.radius).getDiameter()). private var loginPassword:String.Nombre de la variable o función que desea especificar como private (privada). trace(myCircle. myCircle. una variable o función está disponible para cualquier origen de llamada. Véase también Sentencia class Sentencia private class someClassName{ private var name. Parámetros name:String .loginPassword = param_password. Especifica que una variable o función esté únicamente disponible para la clase que la declara o define o para las subclases de dicha clase.loginUserName = param_username. no en definiciones de interfaces.

loginUserName = param_username. Por ejemplo. Especifica que una variable o función esté disponible para cualquier origen de llamada.password). se obtendrá un mensaje de error. Véase también Sentencia public Sentencia public class someClassName{ public var name. // error Dado que loginPassword es una variable private. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones.loginPassword).0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. no se puede acceder a ella desde fuera del archivo de clase Login. Introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: import Login.loginPassword = param_password. } public function set username(param_username:String):Void { this. "Smith"). // salida: undefined trace(gus. cree un nuevo documento FLA o AS. esta palabra clave se utiliza principalmente por motivos de estilo.as.Nombre de la variable o función que desea especificar como public (pública). var gus:Login = new Login("Gus". quizá desee utilizarla para mantener la coherencia de un bloque de código que contenga además variables privadas o estáticas. // salida: Gus trace(gus. Sentencias 189 . } public function set password(param_password:String):Void { this. public function name() { // aquí van las sentencias } } Nota: para utilizar esta palabra clave. debe especificar ActionScript 2. Dado que las variables y funciones son públicas de forma predeterminada.as. trace(gus. Parámetros name:String .return this. Si se intenta acceder a la variable private.username).loginUserName. } } En el mismo directorio que Login.

Si es necesario devolver múltiples valores. Véase también Sentencia private Sentencia return return[expression] Especifica el valor devuelto por una función. si se proporciona. En el siguiente ejemplo se devuelve c: return a. devuelve undefined. b.as e introduzca el código siguiente: class User { public var age:Number.. matriz u objeto que se va a evaluar y devolver como un valor de la función. sólo se devolverá el último valor.age = 27.Cadena. número. c . 190 Elementos del lenguaje ActionScript . La sentencia return devuelve inmediatamente la ejecución a la función que realiza la llamada. Valor devuelto String . var jimmy:User = new User(). se generará un error al intentar acceder a la propiedad. Este parámetro es opcional. cree un archivo FLA o AS nuevo en el mismo directorio e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: import User. valor booleano. quizá desee utilizar una matriz u objeto en su lugar.name = "jimmy". jimmy. public var name:String.El parámetro expression evaluado. jimmy. Parámetros expression .Ejemplo El ejemplo siguiente muestra cómo se pueden utilizar variables públicas en un archivo de clase. Cree un archivo de clase nuevo llamado User. Si cambia una de las variables públicas en la clase User por una variable privada. Si la sentencia return se utiliza sola. Si intenta hacerlo. } A continuación. No es posible devolver múltiples valores. La sentencia return evalúa expression y devuelve el resultado como valor de la función en la que se ejecuta.

public function Login(param_username:String. function sum(a:Number. Sentencias 191 . Permite el establecimiento implícito de propiedades asociadas con objetos basados en las clases definidas en archivos de clase externos. // salida: 114 Véase también Sentencia function Sentencia set function set property(varName) { // las sentencias van aquí } Nota: para utilizar esta palabra clave. Los métodos get/ set implícitos son la abreviatura sintáctica del método Object.Ejemplo El ejemplo siguiente utiliza la sentencia return dentro del cuerpo de la función sum() para devolver el valor sumado de los tres parámetros. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. private var loginPassword:String. b:Number. La siguiente línea de código llama a sum() y asigna el valor devuelto a la variable newValue. 78). trace(newValue). Ejemplo El ejemplo siguiente crea una clase Login que demuestra cómo se puede utilizar la palabra clave set para establecer variables privadas: class Login { private var loginUserName:String. Parámetros property:String . } var newValue:Number = sum(4.0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. c:Number):Number { return (a + b + c).loginUserName = param_username. debe especificar ActionScript 2.Palabra que hace referencia a la propiedad a la que accede set. param_password:String) { this. 32.addProperty() en ActionScript 1. El uso de métodos set implícitos permite modificar el valor de la propiedad de un objeto sin acceder a la propiedad directamente. este valor debe coincidir con el valor utilizado en el comando get correspondiente.

loginUserName = param_username. String. La modificación del valor de una variable a medida que se reproduce el archivo SWF permite registrar y guardar información sobre las acciones del usuario. como se muestra en la línea: gus. Si se utiliza esta sentencia para establecer una variable en un valor cuyo tipos de datos sea distinto del tipo de datos asociado con la variable en un archivo de clase.expression) Asigna un valor a una variable. la función get se ejecuta cuando se realiza un seguimiento del valor. "Smith").username).username). introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: var gus:Login = new Login("Gus".loginPassword = param_password.loginUserName. } } En un archivo FLA o AS que se encuentre en el mismo directorio que Login. pero el contenido puede cambiar.username = "Rupert".this.loginPassword = param_password.as.username = "Rupert". Véase también Sentencia get Sentencia set variable set("variableString". Las variables pueden contener cualquier tipo de datos (por ejemplo. 192 Elementos del lenguaje ActionScript . } public function get username():String { return this. La función set sólo se activa cuando se le pasa un valor. trace(gus. En una sentencia set set se permite el uso de "strict data typing". Una variable es un contenedor que almacena datos. } public function set password(param_password:String):Void { this. } public function set username(param_username:String):Void { this. Object o MovieClip). trace(gus. registrar valores que se modifican conforme se reproduce el archivo SWF o comprobar si una determinada condición es true o false. // salida: Gus gus. // salida: Rupert En el ejemplo siguiente. La línea de tiempo de cada archivo SWF y clip de película tiene su propio conjunto de variables y cada variable tiene su propio valor independiente de las variables de otras líneas de tiempo. Number. no se genera ningún error de compilador. El contenedor es siempre el mismo. Boolean.

no un nombre de variable. set("name". si crea una variable de cadena denominada myVariable y le asigna el valor "Tuesday" pero se olvida de ponerlo entre comillas.Una distinción sutil pero importante que hay que tener en cuenta es que el parámetro variableString es una cadena. //produce el resultado Saturday Parámetros variableString:String . // produce el resultado Tuesday trace(Tuesday). i<3. trace(caption1). set (myVariable. sin poner el nombre entre comillas (""). utilice las comillas (""): set ("myVariable". Véase también Sentencia var Sentencias 193 . trace(myVariable). "Jakob"). "this is caption " + i). trace(myVariable). Ejemplo En el ejemplo siguiente se asigna un valor a una variable. trace(caption2). Por ejemplo. // produce el resultado Saturday Para evitarlo. llamadas caption0. caption1 y caption2: for (var i = 0. El código siguiente se reproduce tres veces y crea tres nuevas variables. "Saturday"). creará accidentalmente una nueva variable denominada Tuesday que contenga el valor que intentó asignar a myVariable: var myVariable:String = "Tuesday". } trace(caption0). Si pasa a set() un nombre de variable que ya existe como primer parámetro. i++) { set("caption" + i.Cadena que denomina una variable que contiene el valor del parámetro expression. "Saturday"). Se asigna el valor de "Jakob" a la variable name. trace(name). la variable se evalúa antes de que se le asigne el valor de expression.

pero únicamente a través de una función no estática que tenga acceso al miembro estático. Cree un archivo nuevo llamado User.0 y Flash Player 6 o posterior en la ficha Flash del cuadro de diálogo Configuración de publicación del archivo FLA. no en definiciones de interfaces. en lugar de crearse en cada objeto basado en dicha clase. se creará sólo una vez para toda la clase.name. function Users() { numInstances++. } static function get instances():Number { return numInstances. Esta palabra clave sólo se admite cuando se utiliza en archivos de script externos y no en scripts escritos en el panel Acciones. Puede utilizar esta palabra clave únicamente en definiciones de clases. debe especificar ActionScript 2. puede acceder además a un miembro estático a través de la instancia.Sentencia static class someClassName{ static var name. Especifica que una variable o función se cree únicamente una sola vez por cada clase. static function name() { // las sentencias van aquí } } Nota: para utilizar esta palabra clave.as e introduzca el código siguiente: class Users { private static var numInstances:Number = 0. Puede acceder a un miembro de clase estático sin crear una instancia de la clase mediante la sintaxis someClassName. Dado que la variable numInstances es estática. Si crea una instancia de la clase.Nombre de la variable o función que desea especificar como static (estática). Ejemplo El ejemplo siguiente demuestra cómo se puede utilizar la palabra clave static para crear un contador que realiza un seguimiento del número de instancias de la clase que se han creado. no para cada instancia individual. } } 194 Elementos del lenguaje ActionScript . Parámetros name:String .

Véase también Sentencia private Sentencia super super.Método que se invocará en la superclase. argN]) El primer estilo de sintaxis puede utilizarse en el cuerpo de un método de objeto para invocar la versión de superclase de un método y puede pasar opcionalmente parámetros (arg1 . Esto resulta útil para crear una subclase que ejecute una inicialización adicional y que además invoque el constructor de superclase para que inicialice la superclase. var user2:Users = new Users(). Esto resulta útil para crear métodos de subclase que añaden un comportamiento adicional a los métodos de superclase a la vez que invocan los métodos de superclase para que ejecuten su comportamiento original. El segundo estilo de sintaxis puede utilizarse en el cuerpo de una función constructora para invocar la versión de superclase de la función constructora y...method([arg1. La función puede devolver cualquier valor. argN]) super([arg1. trace(Users. trace(Users.Parámetros opcionales que se pasan a la versión de superclase del método (sintaxis 1) o a la función constructora de la superclase (sintaxis 2).instances).instances)... argN . . Sentencias 195 . Valor devuelto En ambos casos se invoca una función.instances). Parámetros method:Function . var user1:Users = new Users()... argN) al método de superclase.Cree un documento FLA o AS en el mismo directorio e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: trace(Users. puede pasarle parámetros. ... opcionalmente.

onKeyDown = function() { switch (String. Al igual que la sentencia if. Todas las sentencias switch deberían incluir un caso predeterminado. break. se ejecuta la sentencia trace() que sigue a case "a" y así sucesivamente.fromCharCode(Key. se ejecuta la sentencia trace() que sigue a la palabra clave default.getAscii()). Si ninguna expresión case coincide con el parámetro String. El caso predeterminado debería incluir una sentencia break para evitar un error de paso al siguiente caso si se añade posteriormente otro caso. case "I" : case "i" : trace("you pressed I or i"). si el parámetro da como resultado a. } }. break.getAscii()) da como resultado A. la sentencia switch prueba una condición y ejecuta sentencias si la condición devuelve un valor true. Parámetros expression .fromCharCode(Key. Cuando se pasa al siguiente caso.fromCharCode(Key. break. listenerObj.Sentencia switch switch (expression){caseClause: [defaultClause:] } Crea una estructura ramificada para sentencias de ActionScript. case "a" : trace("you pressed a"). se ejecuta la sentencia trace() que sigue a case "A". si el parámetro String. default : trace("you pressed some other key"). break. 196 Elementos del lenguaje ActionScript . var listenerObj:Object = new Object(). no se incluye una sentencia break. Ejemplo En el ejemplo siguiente. break. case "E" : case "e" : trace("you pressed E or e").Cualquier expresión. Key.getAscii())) { case "A" : trace("you pressed A").addListener(listenerObj).

com").Véase también Operador igualdad estricta (===) Sentencia throw throw expression Genera o emite un error que puede controlarse o capturarse mediante un bloque de código catch{}. function checkEmail(email:String) { if (email. try { checkEmail("Joe Smith"). } catch (e) { error_txt. la representación de cadena del valor emitido se envía al panel Salida. Parámetros expression:Object Expresión u objeto de ActionScript. } Sentencias 197 . Ejemplo En este ejemplo.toString(). una función llamada checkEmail() comprueba si la cadena que se le pasa es una dirección de correo electrónico con el formato adecuado. Si email_txt no contiene una dirección de correo electrónico válida. } } checkEmail("someuser_theirdomain. el mensaje de error aparece en un campo de texto error_txt.indexOf("@") == -1) { throw new Error("Invalid email address").as: class InvalidEmailAddress extends Error { var message = "Invalid email address. Si la cadena no contiene un símbolo @. Si un bloque catch no captura una excepción.text = e. Normalmente. // Define InvalidEmailError de la subclase Error // En InvalidEmailError. la función emite un error. se emiten instancias de la clase Error o de sus subclases (véase el apartado Ejemplo). } En el ejemplo siguiente se emite una subclase de la clase Error. El código siguiente llama a continuación a la función checkEmail() dentro de un bloque de código try. La función checkEmail() se modifica para emitir una instancia de esa subclase.".

introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: import InvalidEmailAddress..autoSize = true. Si el código del bloque try no emite un error (es decir.toString(). error_txt.. error_txt. continúa ejecutándose el código en el bloque finally. }] Incluya un bloque de código en el que puede producirse un error y.. function checkEmail(email:String) { if (email.En un archivo FLA o AS... si existe uno. 100. Puede anidar los bloques try tantos niveles como desee. } } try { checkEmail("Joe Smith"). independientemente de que se haya emitido o no un error. Un único bloque try puede tener varios bloques catch pero sólo un bloque finally bloque. el control pasa al bloque catch. 198 Elementos del lenguaje ActionScript ..indexOf("@") == -1) { throw new InvalidEmailAddress().. 22). } catch(error [:ErrorType1]) // .. Si alguna parte del código del bloque try genera un error (mediante la sentencia throw). } catch (e) { this. bloque finally .. 0. si el bloque try se completa con normalidad).. } finally { // .. } Véase también Error Sentencia try. 0..createTextField("error_txt". a continuación. } [catch(error[:ErrorTypeN]) { // . responda al error.. bloque try . }] [finally { // .. this. bloque try .. o ambos.getNextHighestDepth()....catch. si existe uno. bloque finally . El bloque finally se ejecuta siempre. un bloque finally. y a continuación al bloque de código finally...text = e. bloque catch .. bloque catch ..... El bloque finally se ejecuta aunque el bloque try finalice con una sentencia return..finally try {// . } try {// . Un bloque try debe ir seguido de un bloque catch.

Cuando se utilizan con varios bloques catch. Durante este proceso. normalmente una instancia de la clase Error o una de sus subclases. } Sentencias 199 .El parámetro error especificado en un controlador catch debe ser un identificador sencillo. } catch (myError:Error) { trace("error caught: "+myError). } finally { clearInterval(myInterval). el bloque catch no se ejecuta y la excepción se envía automáticamente fuera del bloque try a un controlador catch coincidente. theException o x. Dado que la ejecución del código del bloque finally está garantizada. También puede escribirse la variable en un controlador catch.000 milisegundos (1 segundo). }. Si se emite una excepción que no es del tipo especificado. Si se emite un error en una función y ésta no incluye un controlador catch. se ejecuta el bloque catch que controla el error correspondiente. se emitirá dicho error y será recogido por el bloque catch. setInterval() llama a una función cada 1. debe situarse clearInterval() en el bloque finally para garantizar que el intervalo se borra de la memoria. Ejemplo El ejemplo siguiente muestra cómo crear una sentencia try. 1000). como e. el tipo coincidirá si el objeto emitido es una subclase del tipo especificado. suele emplearse para realizar la limpieza necesaria después de que se ejecuta un bloque try. myFunction = function () { trace("this is myFunction"). los errores clasificados por tipos permiten capturar varios tipos de errores emitidos desde un solo bloque try. En el ejemplo siguiente. Si la excepción emitida es un objeto.finally. try { myInterval = setInterval(this. "myFunction". El bloque finally siempre se ejecuta. tanto si se produce un error como si no. Parámetros error:Object .. throw new Error("my error"). Si se produce un error. Si se emite un error de un tipo específico.Expresión emitida desde una sentencia throw. trace("error is cleared"). el intérprete de ActionScript abandona esta función y cualquier otra que realice llamadas hasta que encuentra un bloque catch. Dado que se utiliza setInterval(). se realizan llamadas a controladores finally en todos los niveles.

status_txt. Si un código del bloque try emite una excepción. if (returnVal != 0) { throw new Error("Error getting account information. } } Cree un documento AS o FLA en el mismo directorio que Account.autoSize = true. try { var returnVal = account.round(Math.random() * 10) % 2).toString().as e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: import Account. } 200 Elementos del lenguaje ActionScript .getAccountInfo().as e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: import Account. Cree un archivo AS nuevo llamado Account.").getNextHighestDepth().as.getAccountInfo(). el control pasará al bloque catch. Cree un documento FLA en el mismo directorio que Account.. var account:Account = new Account(). var account:Account = new Account()."). Se ejecutará el código que se encuentra dentro del bloque try. el bloque finally se utiliza para eliminar un objeto ActionScript. 0. 22).En el ejemplo siguiente. class Account { var balance:Number = 1000. 100. } } El ejemplo siguiente demuestra una sentencia try. independientemente de que se haya producido un error o no. status_txt. function getAccountInfo():Number { return (Math. 0.createTextField("status_txt". this. que mostrará el mensaje de error en un campo de texto utilizando el método Error.catch. } catch (e) { this. try { var returnVal = account. } } finally { if (account != null) { delete account.text = e. if (returnVal != 0) { throw new Error("Error getting account information. } trace("success").toString().

random() * 10) % 3. } En el método sortRows() de la clase RecordSet se emite uno de los objetos de error definidos anteriormente. El ejemplo siguiente muestra qué aspecto puede tener este código: class RecordSet { function sortRows() { var returnVal:Number = randomNum(). en otro archivo AS o script FLA. } catch (e:RecordSetException) { trace(e. } else if (returnVal == 2) { throw new MalformedRecord(). } Sentencias 201 . var myRecordSet:RecordSet = new RecordSet().sortRows(). En el ejemplo siguiente. try { myRecordSet. Cada uno se define en su propio archivo de clase AS. el código siguiente invoca el método sortRows() en una instancia de la clase RecordSet.toString()). los objetos RecordSetException y MalformedRecord son subclases de la clase Error.as: class MalformedRecord extends Error { var message = "Malformed record exception occurred. import RecordSet. el bloque de código try emite un tipo de objeto distinto. RecordSetException y MalformedRecord. if (returnVal == 1) { throw new RecordSetException(). } } function randomNum():Number { return Math. según el tipo de excepción que se haya producido.El ejemplo siguiente muestra un bloque de código try con múltiples bloques de código catch clasificados.". En este caso.". myRecordSet es una instancia de una clase (hipotética) llamada RecordSet cuyo método sortRows() puede emitir dos tipos de errores. // En RecordSetException. } // En MalformedRecord.as: class RecordSetException extends Error { var message = "Record set exception occurred. } } Por último. Según el tipo de error que se haya producido. trace("everything is fine").round(Math. Define bloques catch para cada tipo de error que emite sortRows().

variableNameN[=valueN]] Se utiliza para declarar variables locales.length = 25. obtendrá errores cuando intente utilizar "strict data typing". Array. last:String = "Bartleby". privadas y estáticas. No puede declarar como variable local una variable incluida en el ámbito de otro objeto.. var product_array:Array = new Array("MX 2004". Nota: debe utilizar además var cuando declare propiedades en definiciones de clase en scripts externos.length = 25.. Ejemplo El código ActionScript siguiente crea una matriz nueva de nombres de producto. Si desea utilizar "strict data typing". "Breeze"). middle:String = "J. Los bloques de código se delimitan mediante llaves ({}). puede aplicar "strict data typing" a la variable. "Contribute". es fundamental que utilice la palabra clave var. "Dreamweaver". // correcto var my_array. Si declara variables fuera de una función.catch (e:MalformedRecord) { trace(e. las variables estarán disponibles en toda la línea de tiempo que contiene la sentencia.toString()).. my_array. una variable definida mediante var es local en el bloque de código que la contiene.Un identificador. 202 Elementos del lenguaje ActionScript . las variables son locales. "Studio". "ColdFusion". } Véase también Error Sentencia var var variableName [= value1][. Sin var delante de product_array. // error de sintaxis Cuando utilice var. "Flash". Puede declarar múltiples variables en una sentencia.push("Flex").push añade un elemento al final de la matriz. separando las declaraciones con comas (si bien esta sintaxis puede reducir la claridad del código): var first:String = "Bart". Parámetros variableName:String . Se definen para la función y caducan al finalizar la llamada a la función. Los archivos de clase también son compatibles con los ámbitos de variables públicas. Si declara variables en una función..". product_array. En concreto.

Ejecute el bloque de sentencias statement(s).Breeze. Vaya al paso 1. } Evalúa una condición y. ■ ■ La reproducción indefinida suele utilizarse para ejecutar una acción mientras la variable de contador sea inferior al valor especificado.Expresión que da como resultado true o false. Sentencias 203 . Al principio de cada repetición se vuelve a probar la condición condition. Parámetros condition:Boolean . se omite la sentencia o serie de sentencias y finaliza el bucle. se realizará un seguimiento de dicho valor (i). condition ya no es true y finaliza el bucle. Si condition da como resultado true o un valor que se convierte en el valor booleano true.trace(product_array). Ejemplo En el ejemplo siguiente. Después de que la condición dé como resultado false. Cada repetición de pasos del 1 al 4 se denomina repetición del bucle.Contribute.ColdFusion. Las llaves ({}) que se utilizan para incluir el bloque de sentencias que se ejecutarán con la sentencia while no son necesarias si sólo se va a ejecutar una sentencia. De lo contrario. un número distinto de cero. se bucle finaliza. Cuando el valor de i es menor que 20. ejecuta una sentencia o serie de sentencias antes de volver a ejecutar el bucle para evaluar la condición nuevamente. la sentencia while se utiliza para comprobar una expresión. vaya al paso 3. por ejemplo. var i:Number = 0.Dreamweaver.Studio. // salida: MX 2004. Al final de cada bucle se incrementa el contador hasta que se alcanza el valor especificado. while (i<20) { trace(i).Flex Sentencia while while(condition) { statement(s). La sentencia while ejecuta la siguiente serie de pasos. se completa la sentencia while y se reanuda la ejecución en la sentencia que hay a continuación del bucle while. Cuando la condición deja de ser true. si ésta da como resultado true. En dicho punto.Flash. tal y como se muestra en los siguientes pasos: ■ ■ Se evalúa la expresión condition.

ActionScript empieza al principio de la cadena de ámbito especificada por object y busca el identificador en cada nivel de la cadena de ámbito. 0 3 6 9 12 15 18 Véase también Sentencia continue Sentencia with with (object:Object) { statement(s). En otro ejemplo. en un orden específico. dichas propiedades se leen automáticamente como my_array.concat. Para buscar el valor de un identificador en el parámetro statement(s). evitará tener que escribir una y otra vez el nombre del objeto o la ruta de acceso al objeto. El objeto Global (objetos incorporados como Math y String).length y my_array. Por ejemplo. El clip de película que contiene el script que se está ejecutando. se llama a todas las acciones o sentencias dentro de la sentencia with incluidas desde dentro de la instancia california. } El resultado siguiente se muestra en el panel Salida. } Permite especificar un objeto (como un clip de película) con el parámetro object y evaluar expresiones y acciones en dicho objeto con el parámetro statement(s). si object es my_array. De esta forma. El objeto Activation (un objeto temporal que se crea automáticamente cuando se llama a una función que contiene las variables locales a las que se llama en la función). El parámetro object se convierte en el contexto en el que se leen las propiedades. La cadena de ámbito que utiliza la sentencia with para dirigirse a los identificadores empieza con el primer elemento de la siguiente lista y continúa hasta el último elemento: ■ ■ ■ El objeto especificado en el parámetro object en la sentencia with más interior. El objeto especificado en el parámetro object en la sentencia with más interior. y dos de las propiedades especificadas son length y concat.california.i += 3. ■ ■ 204 Elementos del lenguaje ActionScript . si object es state. variables y funciones del parámetro statement(s).

puede crear una variable local y almacenar la ruta en la variable. Ejemplo El ejemplo siguiente establece las propiedades _x e _y de la instancia someOther_mc y.PI. } El fragmento de código siguiente muestra cómo escribir el código anterior sin utilizar una sentencia with.text = "Hank". La sentencia with resulta útil para acceder a múltiples elementos de una lista de cadena de ámbito simultáneamente.name_txt. Si la variable no existe ya. 2). se establecerá el nuevo valor en la línea de tiempo desde la que se ha llamado a la sentencia with. En lugar de utilizar with(). x = r * cos(PI). Sentencias 205 . el objeto Math incorporado se sitúa delante de la cadena de ámbito. Si establece una variable en una sentencia with sin declararla. que a continuación puede reutilizar en el código. a continuación._parent. En el ejemplo siguiente. respectivamente.gotoAndStop(3). someOther_mc. puede utilizar rutas directas. y:Number. gotoAndStop(3). El establecimiento de Math como objeto predeterminado resuelve los identificadores cos.autoSize = true. Math. with (Math) { a = PI * pow(r. function polar(r:Number):Void { var a:Number._parent._x = 50. sin y PI en Math. _y = 100. someOther_mc._y = 100. Parámetros object:Object . someOther_mc. Si cree que es incómodo escribir las largas rutas de acceso.Para establecer una variable dentro de una sentencia with. shortcut. with (someOther_mc) { _x = 50.cos. indica a someOther_mc que pase al fotograma 3 y se detenga.sin y Math. la sentencia with buscará el valor según la cadena de ámbito. shortcut. tal y como ocurre en el siguiente código ActionScript: var shortcut = this. x:Number. x.Una instancia de un objeto o clip de película de ActionScript. pero dado que existen en el ámbito de activación de objetos de la función polar(). y y r no son métodos ni propiedades del objeto Math. se resuelven en las variables locales correspondientes. Los identificadores a. debe haber declarado la variable fuera de la sentencia with o debe introducir la ruta de acceso completa a la línea de tiempo en la que desea incluir la variable.

consulte Función fscommand2 en "Funciones globales". area = 28. } polar(3). el número de serie). GetMaxVolumeLevel GetNetworkConnectio Devuelve el nombre de la conexión de red activa o predeterminada.y = r * sin(PI / 2). comandos Comando tion FullScreen Descripción especificado. Si desea obtener una descripción de la función fscommand2(). Flash Lite. } trace("area = " + a). Establece el tamaño del área de visualización que se utilizará para la representación. ExtendBacklightDura Amplía la duración de la retroiluminación durante un periodo de tiempo GetBatteryLevel GetDevice GetDeviceID GetFreePlayerMemory Devuelve la cantidad de memoria Heap (en kilobytes) disponible en GetMaxBatteryLevel GetMaxSignalLevel Devuelve el nivel máximo de la batería del dispositivo. Establece un parámetro que representa el identificador exclusivo del dispositivo (por ejemplo. Establece un parámetro que identifica el dispositivo en el que se ejecuta Flash Lite. trace("x = " + x). fscommand2. Devuelve el nivel actual de la batería.2743338823081 x = -3 y = 3 Comandos fscommand2 Los siguientes comandos están disponibles para la función fscommand2(). nName 206 Elementos del lenguaje ActionScript . trace("y = " + y). El resultado siguiente se muestra en el panel Salida. Devuelve el nivel máximo de intensidad de señal como un valor numérico. Devuelve el nivel máximo de volumen del dispositivo como un valor numérico.

Restablece las teclas programables en su configuración original. GetNetworkName Establece un parámetro para el nombre de la red actual. Establece un parámetro que identifica la plataforma actual. Quit ResetSoftKeys SetFocusRectColor SetInputTextType SetSoftKeys StartVibrate StopVibrate Comandos fscommand2 207 . GetNetworkGeneration Devuelve la generación de la red inalámbrica móvil actual (por ejemplo. Devuelve un valor que indica si la fuente de alimentación se obtiene de una batería o de una fuente externa. asignada a GetVolumeLevel Devuelve el nivel de volumen actual del dispositivo como un valor numérico. Inicia la función de vibración del teléfono. GetNetworkRequestSt Devuelve un valor que indica el estado de la solicitud HTTP más atus GetNetworkStatus GetPlatform GetPowerSource GetSignalLevel GetSoftKeyLocation GetTotalPlayerMemory Devuelve la cantidad total de memoria Heap (en kilobytes). Establece el color del rectángulo de selección en cualquier color. reciente. si existe una red registrada y si el teléfono se encuentra actualmente en itinerancia). Devuelve un valor que indica el estado de la red del teléfono (es decir. Devuelve un valor que indica la ubicación de las teclas programables en el dispositivo. si ésta se estaba produciendo. Reasigna las teclas programables de un dispositivo móvil. Especifica el modo en que debería abrirse el campo de texto de introducción. Devuelve la intensidad de señal actual como un valor numérico. redes móviles 2G o de segunda generación). que describe en términos generales la clase del dispositivo. Flash Lite. Provoca que el reproductor Flash Lite detenga la reproducción y se cierre.Comando atus Descripción GetNetworkConnectSt Devuelve un valor que indica el estado de la conexión de red activa. Detiene la vibración.

Si la duración es mayor que cero. Nota: este comando no se admite en dispositivos BREW. 208 Elementos del lenguaje ActionScript . Si este periodo de tiempo transcurre sin ninguna llamada adicional a este comando. Nota: esta función depende del sistema. en segundos. la duración de la retroiluminación se amplía durante 45 segundos: status = FSCommand2("ExtendBacklightDuration". como complemento de un navegador). Cualquier otro valor se trata como false. Valor máximo de 60 segundos. Comando FullScreen Parámetros size Valor devuelto -1: no se admite. 0: se admite. el comportamiento de la retroiluminación volverá a la duración predeterminada. No está admitido si el reproductor se ejecuta en el contexto de otra aplicación (por ejemplo. Nota: este comando sólo se admite si Flash Lite se ejecuta en modo independiente.Comando fscommand2 ExtendBacklightDuration ExtendBacklightDuration Amplía la duración de la retroiluminación durante un periodo de tiempo especificado. 1: correcto ExtendBacklightDuration duration Duración de retroiluminación. con uno de los valores siguientes: true (pantalla completa) o false (inferior a pantalla completa). Por ejemplo. algunos sistemas limitan la duración total a la que se puede ampliar la retroiluminación. Si la duración es igual a cero. 45) Comando fscommand2 FullScreen FullScreen Establece el tamaño del área de visualización que se utilizará para la representación. este comando especifica la cantidad de tiempo en segundos (con un máximo de 60 segundos) que deberá mantenerse la retroiluminación. Ejemplo En el siguiente ejemplo. el comportamiento de la retroiluminación vuelve inmediatamente al comportamiento predeterminado. El tamaño puede ser una variable definida o un valor constante de cadena. Comando Parámetros Valor devuelto -1: no se admite 0: se ha producido un error y no ha sido posible completar la operación.

0: se admite. Comando GetDevice Parámetros Valor devuelto device Cadena que recibe -1: no se admite. Puede ser el nombre de una variable o un valor de la cadena que contiene el nombre de una variable. Comandos fscommand2 209 . Comando fscommand2 GetBatteryLevel GetBatteryLevel Devuelve el nivel actual de la batería. Nota: este comando no se admite en dispositivos BREW. la variable battLevel se establece en el nivel actual de la batería: battLevel = fscommand2("GetBatteryLevel"). Comando fscommand2 GetDevice GetDevice Establece un parámetro que identifica el dispositivo en el que se ejecuta Flash Lite. el identificador del dispositivo. Se trata de un valor numérico entre 0 y el máximo valor devuelto por la variable GetMaxBatteryLevel. Este identificador suele ser el nombre del modelo. Ejemplo En el siguiente ejemplo. true).Ejemplo En el siguiente ejemplo se define el tamaño del área de visualización en pantalla completa: status = fscommand2("FullScreen". Valor devuelto -1: no se admite. Comando GetBatteryLevel Parámetros Ninguno. Otros valores numéricos: nivel actual de la batería.

NFOMA1 Teléfono NEC FOMA1. F506i Teléfono Fujitsu 506i. DFOMA1 Teléfono Mitsubishi FOMA1. Nokia3650 Teléfono Nokia 3650. Ejemplo El ejemplo siguiente asigna el identificador exclusivo a la variable deviceID: status = fscommand2("GetDeviceID". D506i Comando fscommand2 GetDeviceID GetDeviceID Establece un parámetro que representa el identificador exclusivo del dispositivo (por ejemplo. SHFOMA1 Teléfono Sharp FOMA1. SO506i Teléfono Sony 506i. el número de serie). 0 o valor positivo: kilobytes disponibles de memoria Heap. SH506i Teléfono Sharp 506i. "device"). FFOMA1 Teléfono Fujitsu FOMA1. Comando GetDeviceID Parámetros Valor devuelto -1: no se admite. "deviceID"). N506i Teléfono NEC 506i. A continuación se incluyen algunos resultados de muestra y los dispositivos a los que hacen referencia: Teléfono Mitsubishi 506i. p506i Teléfono Panasonic 506i. id Cadena que recibe el identificador exclusivo del 0: se admite. 210 Elementos del lenguaje ActionScript . Comando fscommand2 GetFreePlayerMemory GetFreePlayerMemory Devuelve la cantidad de memoria Heap (en kilobytes) disponible en Flash Lite. Puede ser el nombre de una variable o un valor de la cadena que contiene el nombre de una variable. PFOMA1 Teléfono Panasonic FOMA1.Ejemplo El ejemplo siguiente asigna el identificador de dispositivo a la variable device: status = fscommand2("GetDevice". Comando GetFreePlayerMemory Parámetros Ninguno Valor devuelto -1: no se admite. dispositivo.

Ejemplo El ejemplo siguiente asigna la intensidad máxima de la señal a la variable sigStrengthMax: sigStrengthMax = fscommand2("GetMaxSignalLevel"). Nota: este comando no se admite en dispositivos BREW.Ejemplo El siguiente ejemplo establece el estado igual que la cantidad de memoria libre: status = fscommand2("GetFreePlayerMemory"). Comando fscommand2 GetMaxSignalLevel GetMaxSignalLevel Devuelve el nivel máximo de intensidad de señal como un valor numérico. Comando GetMaxSignalLevel Parámetros Ninguno Valor devuelto -1: no se admite. Comandos fscommand2 211 . Nota: este comando no se admite en dispositivos BREW. Se trata de un valor numérico mayor que 0. Comando fscommand2 GetMaxBatteryLevel GetMaxBatteryLevel Devuelve el nivel máximo de la batería del dispositivo. Ejemplo El siguiente ejemplo establece la variable maxBatt en el nivel máximo de la batería: maxBatt = fscommand2("GetMaxBatteryLevel"). Comando GetMaxBatteryLevel Parámetros Ninguno Valor devuelto -1: no se admite. Otros valores numéricos: nivel máximo de la señal. Otros valores: nivel máximo de la batería.

Comando GetMaxVolumeLevel Parámetros Ninguno Valor devuelto -1: no se admite. esta conexión también recibe el nombre de punto de acceso.Comando fscommand2 GetMaxVolumeLevel GetMaxVolumeLevel Devuelve el nivel máximo de volumen del dispositivo como un valor numérico. Comando Parámetros Valor devuelto -1: no se admite. 1: correcto: devuelve el nombre de la conexión de red predeterminada. Otros valores: nivel máximo de volumen. Ejemplo En el siguiente ejemplo. 2: No se puede recuperar el nombre de la conexión Ejemplo En el siguiente ejemplo se devuelve el nombre de la conexión de red activa o predeterminada en el argumento myConnectionName: status = FSCommand2("GetNetworkConnectionName". trace (maxvolume). Para teléfonos móviles. // salida: 80 Comando fscommand2 GetNetworkConnectionName GetNetworkConnectionName Devuelve el nombre de la conexión de red activa o predeterminada. Nota: este comando no se admite en dispositivos BREW. 0: correcto: devuelve el nombre de la GetNetworkConnection Ninguno Name conexión de red activa. 212 Elementos del lenguaje ActionScript . "myConnectionName"). la variable maxvolume se establece en el nivel máximo de volumen del dispositivo: maxvolume = fscommand2("GetMaxVolumeLevel").

Comando fscommand2 GetNetworkConnectStatus GetNetworkConnectStatus Devuelve un valor que indica el estado de la conexión de red activa. Ejemplo En el siguiente ejemplo. Nota: este comando no se admite en dispositivos BREW. break. se utiliza una sentencia switch para actualizar un campo de texto con el estado de la conexión: connectstatus = FSCommand2("GetNetworkConnectStatus"). break. } Comandos fscommand2 213 . case 4 : _root. case 3 : _root.myText += "connectstatus shows attempting connection" + "\n". break.myText += "connectstatus shows suspended connection" + "\n". break. case 0 : _root. 4: no se puede determinar la conexión de red.myText += "connectstatus shows indeterminable state" + "\n". 2: actualmente no hay ninguna conexión de red activa. 3: la conexión de red está suspendida.myText += "connectstatus shows active connection" + "\n". case 2 : _root. Comando GetNetworkConnect Status Parámetros Valor devuelto Ninguno -1: no se admite. break. 0: actualmente hay una conexión de red activa.myText += "connectstatus shows no connection" + "\n". se asigna un estado de conexión de red a la variable connectstatus y. a continuación. switch (connectstatus) { case -1 : _root.myText += "connectstatus not supported" + "\n". 1: el dispositivo está intentando conectarse a la red. switch (connectstatus) { connectstatus = FSCommand2("GetNetworkConnectStatus"). switch (connectstatus) { connectstatus = FSCommand2("GetNetworkConnectStatus"). case 1 : _root. break.

se establece en una cadena vacía. 0: no hay ninguna red registrada. Si la red está registrada y se puede determinar su nombre. Ejemplo En el siguiente ejemplo se asigna el nombre de la red actual al parámetro myNetName y un valor de estado a la variable netNameStatus: netNameStatus = fscommand2("GetNetworkName". de lo contrario. myNetName). redes móviles 2G o de segunda generación). networkname se establece en el nombre de la red. Comando GetNetworkName Parámetros networkName Cadena que representa el nombre de la red. 0: Generación de red inalámbrica móvil desconocida 1: 2G 2: 2. Comando GetNetworkGeneration Parámetros Ninguno Valor devuelto -1: no se admite. Puede ser el nombre de una variable o un valor de la cadena que contiene el nombre de una variable. pero se ignora su nombre.Comando fscommand2 GetNetworkGeneration GetNetworkGeneration Devuelve la generación de la red inalámbrica móvil actual (por ejemplo. Nota: este comando no se admite en dispositivos BREW. 214 Elementos del lenguaje ActionScript . 2: la red está registrada y se conoce su nombre. Comando fscommand2 GetNetworkName GetNetworkName Establece un parámetro para el nombre de la red actual. 1: la red está registrada.5G 3: 3G Ejemplo En el siguiente ejemplo se muestra la sintaxis para devolver la generación de la red: status = fscommand2("GetNetworkGeneration"). Valor devuelto -1: no se admite.

7: la solicitud ha fallado debido a un fallo al acceder al servidor DNS o al resolver el nombre del servidor.myText += "requeststatus not supported" + "\n". Nota: este comando no se admite en dispositivos BREW. se ha establecido una conexión de red y el nombre del host del servidor se está resolviendo.Comando fscommand2 GetNetworkRequestStatus GetNetworkRequestStatus Devuelve un valor que indica el estado de la solicitud HTTP más reciente. el nombre del host del servidor se ha resuelto y se ha realizado una conexión con el servidor. 1: existe una solicitud pendiente y se está estableciendo una conexión de red. se utiliza una sentencia switch para actualizar un campo de texto con el estado: requeststatus = fscommand2("GetNetworkRequestStatus"). 2: existe una solicitud pendiente pero aún no se ha establecido una conexión de red. 4: la solicitud ha fallado debido a un error de red. 404). a continuación. se ha GetNetworkRequestStatus Ninguno establecido una conexión de red. break. switch (requeststatus) { case -1 : _root. Comandos fscommand2 215 . 9: la solicitud ha fallado porque se agotó el tiempo de espera. Ejemplo En el siguiente ejemplo. Comando Parámetros Valor devuelto -1: el comando no se admite. 6: el servidor ha devuelto un error HTTP (por ejemplo. case 0 : _root. 5: la solicitud ha fallado debido a un fallo de conexión con el servidor. 10: la solicitud no se ha realizado todavía. 3: existe una solicitud pendiente. se asigna el estado de la solicitud HTTP más reciente a la variable requesttatus y. 8: La solicitud se ha realizado correctamente. 0: existe una solicitud pendiente. break.myText += "connection to server has been made" + "\n".

case 3 : _root. += "HTTP error" + "\n". += "DNS failure" + "\n". resolving domain" + "\n". case 5 : _root. network error" + "\n".myText break. } += "connection is being established" + "\n". Comando fscommand2 GetNetworkStatus GetNetworkStatus Devuelve un valor que indica el estado de la red del teléfono (es decir. Comando GetNetworkStatus Parámetros Ninguno Valor devuelto -1: el comando no se admite.myText break. 2: en red original ampliada. += "request has been fulfilled" + "\n". += "pending request.myText break. 1: en red original. += "request timedout" + "\n". += "failed. 3: itinerancia (lejos de la red principal). case 6 : _root. si existe una red registrada y si el teléfono se encuentra actualmente en itinerancia). case 2 : _root.myText break. 216 Elementos del lenguaje ActionScript .myText break. contacting network" + "\n".case 1 : _root. case 10 : _root. case 8 : _root.myText break. += "failed.myText break. 0: ninguna red registrada. case 7 : _root. case 9 : _root.myText break. couldn't reach server" + "\n".myText break. += "pending request. case 4 : _root.myText break. += "no HTTP request has been made" + "\n".

plataforma.Ejemplo En el siguiente ejemplo.myText += "roaming" + "\n". break.0.1_s60. se asigna un estado de conexión de red a la variable networkstatus y. Symbian7. case 2 : _root.0 Teléfono Symbian 7. "platform").1. switch(networkstatus) { case -1 : _root. Comando GetPlatform Parámetros platform Cadena que Valor devuelto -1: no se admite. se utiliza una sentencia switch para actualizar un campo de texto con el estado: networkstatus = fscommand2("GetNetworkStatus"). Symbian6. } Comando fscommand2 GetPlatform GetPlatform Establece un parámetro que identifica la plataforma actual. recibe el identificador de la 0: se admite.myText += "network status not supported" + "\n". que describe en términos generales la clase del dispositivo. case 0 : _root. Para dispositivos con sistemas operativos abiertos. En los ejemplos siguientes se muestran algunos resultados de muestra para platform: 506i Teléfono 506i.myText += "on home network" + "\n". break.myText += "no network registered" + "\n". Ejemplo En el siguiente ejemplo se define el parámetro platform en el identificador para la plataforma actual: status = fscommand2("GetPlatform". FOMA1 Teléfono FOMA1.1 Teléfono Symbian 6. break. break. break. case 3 : _root. a continuación.myText += "on extended home network" + "\n". este identificador suele coincidir con el nombre y la versión del sistema operativo. de la serie 60 y versión 1. Comandos fscommand2 217 . case 1 : _root.

Comando GetSignalLevel Parámetros Ninguno Valor devuelto -1: no se admite. entre 0 y el máximo valor devuelto por GetMaxSignalLevel. Nota: este comando no se admite en dispositivos BREW. Ejemplo En el siguiente ejemplo.Comando fscommand2 GetPowerSource GetPowerSource Devuelve un valor que indica si la fuente de alimentación se obtiene de una batería o de una fuente externa. Otros valores numéricos: nivel de señal actual. Comando fscommand2 GetSignalLevel GetSignalLevel Devuelve la intensidad de señal actual como un valor numérico. 218 Elementos del lenguaje ActionScript . 1: el dispositivo funciona gracias a una fuente de alimentación externa. Comando GetPowerSource Parámetros Ninguno Valor devuelto -1: no se admite. Nota: este comando no se admite en dispositivos BREW. 0: el dispositivo funciona gracias a una batería. se establece la variable myPower para indicar la fuente de alimentación o se establece en -1 si no ha sido posible conseguirlo: myPower = fscommand2("GetPowerSource"). Ejemplo El ejemplo siguiente asigna el valor del nivel de la señal a la variable sigLevel: sigLevel = fscommand2("GetSignalLevel").

Comandos fscommand2 219 . se establece la variable status en la cantidad total de memoria Heap: status = fscommand2("GetTotalPlayerMemory"). 0 o un valor positivo: kilobytes totales de memoria Heap. Comando GetTotalPlayerMemory Parámetros Ninguno Valor devuelto -1: no se admite.Comando fscommand2 GetSoftKeyLocation GetSoftKeyLocation Devuelve un valor que indica la ubicación de las teclas programables en el dispositivo. Ejemplo En el siguiente ejemplo. Comando fscommand2 GetTotalPlayerMemory GetTotalPlayerMemory Devuelve la cantidad total de memoria Heap (en kilobytes). 3: teclas programables a la derecha. asignada a Flash Lite. 0: teclas programables arriba. Ejemplo El siguiente ejemplo establece la variable status para indicar la ubicación de las teclas programables o en -1 si las teclas programables no son compatibles con el dispositivo: status = fscommand2("GetSoftKeyLocation"). 2: teclas programables abajo. 1: teclas programables a la izquierda. Comando GetSoftKeyLocation Parámetros Ninguno Valor devuelto -1: no se admite.

como complemento de un navegador). entre 0 y el valor devuelto por fscommand2("GetMaxVolumeLevel"). 220 Elementos del lenguaje ActionScript . // salida: 50 Comando fscommand2 Quit Quit Provoca que el reproductor Flash Lite detenga la reproducción y se cierre.Comando fscommand2 GetVolumeLevel GetVolumeLevel Devuelve el nivel de volumen actual del dispositivo como un valor numérico. No está admitido si el reproductor se ejecuta en el contexto de otra aplicación (por ejemplo. trace (volume). Otros valores numéricos: nivel de volumen actual. Este comando sólo se admite si Flash Lite se ejecuta en modo independiente. Comando GetVolumeLevel Parámetros Ninguno Valor devuelto -1: no se admite. Ejemplo El ejemplo siguiente asigna el nivel actual del volumen a la variable volume: volume = fscommand2("GetVolumeLevel"). Comando Quit Parámetros Ninguno Valor devuelto -1: no se admite. Ejemplo El siguiente ejemplo provoca que Flash Lite detenga la reproducción y se cierre si se ejecuta en modo independiente: status = fscommand2("Quit").

Este comando sólo se admite si Flash Lite se ejecuta en modo independiente. Ejemplo La siguiente sentencia restablece las teclas programables en su configuración original. En Flash. verde y azul es 0-255.Comando fscommand2 ResetSoftKeys ResetSoftKeys Restablece las teclas programables en su configuración original. <red>. El rango de valores admitidos para rojo. Comando fscommand2 SetFocusRectColor SetFocusRectColor Establece el color del rectángulo de selección en cualquier color. 0: no se puede determinar 1: correcto Ejemplo La siguiente sentencia restablece el color del rectángulo de selección: status = fscommand2("SetFocusRectColor. Comando ResetSoftKeys Parámetros Ninguno Valor devuelto -1: no se admite. no se puede cambiar el color predeterminado del rectángulo de selección. Comandos fscommand2 221 . que es amarillo. como complemento de un navegador). <blue>). Comando SetFocusRectColor Parámetros Ninguno Valor devuelto -1: no se admite. No está admitido si el reproductor se ejecuta en el contexto de otra aplicación (por ejemplo. <green>. status = fscommand2("ResetSoftKeys").

Latin. el siguiente código restringe la introducción a caracteres numéricos para la instancia del campo de texto (numTxt) cuyo nombre de variable asociado es "numTxt_var".variable = "numTxt_var". type Uno de los valores Numeric. o bien mediante ActionScript. 222 Elementos del lenguaje ActionScript . que suele recibir el nombre de procesador principal (FEP). "numTxt_var". Nota: el nombre de la variable del campo de texto no es el mismo que el de la instancia. Alpha. o bien NoRestriction. introducción de texto. Puede especificar un nombre de variable del campo de texto en el cuadro de texto Var del inspector de propiedades. Flash Lite admite la función de introducción de texto solicitando a la aplicación host que inicie la interfaz de introducción de texto específica del dispositivo genérico. Por ejemplo. Puede ser el nombre de una variable o un valor de la cadena que contiene el nombre de una variable. Alphanumeric.Comando fscommand2 SetInputTextType SetInputTextType Especifica el modo en que debería abrirse el campo de texto de introducción. el FEP se abre en modo predeterminado. var numTxt:TextField. NonLatin.fscommand2("SetInputTextT ype". "Numeric"). Si no se utiliza el comando SetInputTextType. Comando SetInputTextType Parámetros variableName Nombre del campo de Valor devuelto 0: fallido.numTxt. 1: correcto.

Comando fscommand2 SetSoftKeys SetSoftKeys Reasigna las teclas programables de un dispositivo móvil. No está admitido si el reproductor se ejecuta en el contexto de otra aplicación (por ejemplo. como complemento de un navegador). "Numeric"). Cuando el usuario pulsa una tecla programable. se deben validar los datos de texto introducidos. kanji y kana) Modo predeterminado (no establece restricción alguna en el FEP) N/D NOTA: no todos los teléfonos móviles admiten estos tipos de campos de introducción de texto. Comandos fscommand2 223 . Ejemplo En la siguiente línea de código se establece el tipo de texto introducido del campo asociado a la variable input1 para recibir datos numéricos: status = fscommand2("SetInputTextType". "input1". Por este motivo. El reproductor Flash ejecuta esta función de forma inmediata cuando se invoca. A-Z o a-z) Sólo caracteres latinos (alfanuméricos y signos de puntuación) NoRestriction NonLatin NoRestriction Sólo caracteres no latinos (por NoRestriction ejemplo. Este comando sólo se admite si Flash Lite se ejecuta en modo independiente. se ejecuta cualquier código de ActionScript asociado al evento de la tecla programable. abre el FEP en este modo Alphanumeric Alphanumeric Sólo caracteres alfanuméricos Latin (del 0 al 9.En la siguiente tabla se muestra el efecto que tiene cada modo y qué modos se sustituyen: Modo InputTextType Numeric Alfa Alphanumeric Latin Establece el FEP en uno de estos modos que se excluyen entre sí Sólo números (del 0 al 9) Sólo caracteres alfabéticos (A-Z o a-z) Si no se admite en el dispositivo actual.

Para la tecla programable SOFT3 y superiores.1. se genera un evento de pulsación de tecla SOFT2. la tecla programable SOFT1 siempre se asigna a la tecla izquierda del teléfono y la tecla programable SOFT2 siempre se asigna a la tecla derecha. "Next"). SOFT1. .. Estos parámetros o bien son nombres de variables o valores de cadenas constantes (por ejemplo. "Previous".. al pulsar la tecla izquierda se genera un evento de pulsación de tecla SOFT1 y. al pulsar la tecla derecha. "Previous"). Ejemplo En el siguiente ejemplo se etiquetan las teclas programables SOFT1 ("Anterior") y SOFT2 ("Siguiente"): status = fscommand2("SetSoftKeys". soft1.. [softn]) 224 Elementos del lenguaje ActionScript . soft2 Texto que se muestra para la tecla programable SOFT2. [soft3]. Nota: la reasignación de teclas programables depende de cada dispositivo móvil. soft2. [soft4]. para la tecla programable 0: se admite. la ubicación depende de cada teléfono. Póngase en contacto con el fabricante del dispositivo para verificar si se admite la reasignación de las teclas programables. Comando SetSoftKeys Parámetros Valor devuelto soft1 Texto que se muestra -1: no se admite. Los argumentos para este comando especifican el texto que se mostrará en cada tecla programable. Cuando se ejecuta el comando SetSoftKeys.Para conseguir compatibilidad retroactiva con Flash Lite 1. Al pulsar las teclas programables SOFT3 a SOFT12 se generan sus respectivos eventos. Se pueden definir variables o utilizar valores de cadenas constantes para cada tecla programable: status = fscommand2("SetSoftKeys".

Comando StartVibrate Parámetros time_on Cantidad de tiempo. "") ■ Para dejar la etiqueta de la tecla programable izquierda tal como está y establecer la derecha en "soft2": status = fscommand2("SetSoftKeys". Los ejemplos siguientes muestran la sintaxis y el comportamiento que implica definir una tecla programable concreta sin que esto afecte al resto de las teclas: ■ Para establecer la etiqueta de la tecla programable izquierda en "soft1" y dejar la derecha vacía: status = fscommand2("SetSoftKeys". undefined. en milisegundos (hasta un máximo de 5 segundos). Si ya está activada la vibración. 0: la vibración se ha iniciado. repeat Número de veces (máximo de 3) que se repite la vibración. "soft1". "soft2") ■ Para establecer la etiqueta de la tecla programable izquierda en "soft1" y dejar la derecha tal como está: status = fscommand2("SetSoftKeys". en milisegundos (hasta un máximo de 5 segundos). 1: se ha producido un error y no ha sido posible iniciar la vibración. así como cuando se cierra el reproductor Flash Lite. time_off Cantidad de tiempo. Comandos fscommand2 225 . en que la vibración está desactivada. en que la vibración está activada. null. Flash Lite la detiene antes de iniciar una nueva.Nota: se puede definir una tecla programable sin necesidad de definir el resto. "soft2") ■ Para dejar la etiqueta de la tecla programable izquierda tal como está y establecer la derecha en "soft2": status = fscommand2("SetSoftKeys". La vibración también se detiene cuando se detiene (total o temporalmente) la aplicación Flash. Valor devuelto -1: no se admite. "soft1") Comando fscommand2 StartVibrate StartVibrate Inicia la función de vibración del teléfono.

226 Elementos del lenguaje ActionScript . 1000. 0: la vibración se ha detenido.5 segundos y desactivación de 1 segundo dos veces. Comando fscommand2 StopVibrate StopVibrate Detiene la vibración.Ejemplo El siguiente ejemplo intenta iniciar una secuencia de activación de vibración de 2. Comando StopVibrate Parámetros Ninguno Valor devuelto -1: no se admite. 2). Asigna un valor a la variable status que indica la ejecución correcta o fallida: fscommand2("StartVibrate". 2500. si ésta se estaba produciendo. Ejemplo El siguiente ejemplo llama a StopVibrate y guarda el resultado (no se admite o la vibración se ha detenido) en la variable status: status = fscommand2("StopVibrate").

al primero se accede como al segundo como arguments[1]. Desde dentro del cuerpo de función se puede acceder a él con la variable arguments local. Los argumentos se almacenan como elementos de matriz.CAPÍTULO 2 Clases de ActionScript La documentación de clases de ActionScript incluye sintaxis. La propiedad arguments. 2 arguments Object | +-arguments public class arguments extends Object Un objeto arguments se utiliza para almacenar y acceder a argumentos de función. puede buscarla en el índice. Si tiene dudas sobre la clase a la que pertenece un método o propiedad. Véase también Function 227 . propiedades y controladores y detectores de eventos que pertenecen a una clase específica en ActionScript (frente a las funciones y propiedades globales).length indica el número de argumentos que se pasan a la función. Las clases se muestran alfabéticamente. Observe que puede haber diferencia entre el número de argumentos que se pasan y los que declara la función. información de uso y ejemplos de código de métodos. etc. arguments[0].

valueOf (método Object. length:Number Propiedades heredadas de la clase Object constructor (propiedad Object. prototype (propiedad Object. 228 Clases de ActionScript .toString). toString (método Object. Véase también caller (propiedad arguments.unwatch).caller) public caller : Object Una referencia a la función que llamó a la función que se está ejecutando o null si no se llamó desde otra función.__resolve) Resumen de métodos Métodos heredados de la clase Object addProperty (método Object.isPrototypeOf).watch) callee (propiedad arguments.valueOf).hasOwnProperty). registerClass (método Object. hasOwnProperty (método Object.callee) public callee : Object Una referencia a la función que se está ejecutando. isPropertyEnumerable (método Object.prototype).caller) caller (propiedad arguments. __resolve (propiedad Object. unwatch (método Object.Resumen de propiedades Modificadores Propiedad callee:Object caller:Object Descripción Una referencia a la función que se está ejecutando.isPropertyEnumerable). watch (método Object.registerClass).constructor). __proto__ (propiedad Object. Una referencia a la función que llamó a la función que se está ejecutando o null si no se llamó desde otra función. isPrototypeOf (método Object. El número de argumentos que se pasan a la función.__proto__).addProperty).

Para crear un objeto Array. var twoArray:Array = oneArray. Array Object | +-Array public dynamic class Array extends Object La clase Array le permite obtener acceso a matrices indexadas y manipularlas. Una matriz indexada es un objeto cuyas propiedades se identifican mediante un número que representa su posición en la matriz.Véase también callee (propiedad arguments.b. cadenas. deberá utilizar el constructor new Array(). // Las dos variables de matriz hacen referencia a la misma matriz. lo que significa que el primer elemento de la matriz es [0]. Este número se conoce como índice. Puede almacenar una amplia variedad de tipos de datos en un elemento de matriz. Puede crear una matriz multidimensional creando una matriz indexada y asignando a cada uno de sus elementos una matriz indexada distinta. ambas hacen referencia a la misma matriz: var oneArray:Array = new Array("a". incluidos números. twoArray[0] = "z".callee) length (propiedad arguments. Todas las matrices indexadas están basadas en cero. [1].c. La asignación de matriz se hace por referencia en lugar de por valor: cuando se asigna una variable de matriz a otra variable de matriz. "b".length) public length : Number El número de argumentos que se pasan a la función. Puede ser más o menos el que declara la función. objetos e incluso otras matrices. Array 229 . y así sucesivamente. "c"). trace(oneArray). utilice el operador de acceso a matriz ([]). Para obtener acceso a elementos de una matriz. Una matriz de este tipo se considera multidimensional porque puede emplearse para representar datos en una tabla. // Salida: z. el segundo elemento.

Representa una ordenación en orden descendente. // Salida: Q Ejemplo En el ejemplo siguiente. no es posible utilizar ninguno de los métodos o las propiedades de la clase Array.No se debe utilizar la clase Array para crear matriz asociativas. a continuación. que son estructuras de datos distintas que contienen elementos con nombre en lugar de elementos numerados. CASEINSENSITIVE:Numb Representa una ordenación sin distinción entre length:Number static NUMERIC:Number static RETURNINDEXEDARRAY:N Representa la opción para devolver una matriz umber static UNIQUESORT:Number 230 Clases de ActionScript . indexada como resultado de llamar al método sort() o sortOn(). añade un nuevo par clave-valor creando una propiedad nueva: var myAssocArray:Object = {fname:"John". Resumen de propiedades Modificadores Propiedad static er static DESCENDING:Number Descripción mayúsculas y minúsculas.fname). // Salida: Public myAssocArray. lname:"Public"}. my_array[2] = "March". trace(myAssocArray. my_array[0] = "January". El ejemplo siguiente crea una matriz asociativa utilizando un literal de objeto.initial = "Q". trace(myAssocArray. Representa una ordenación numérica en lugar de una ordenación basada en cadenas. // Salida: John trace(myAssocArray["lname"]). Representa el requisito de ordenación exclusiva. Deberá emplear el objeto Object para crear matrices asociativas (también llamadas hashes). Si bien ActionScript permite crear matrices asociativas empleando la clase Array. una matriz asociativa es una instancia de la clase Object y cada par clave-valor se representa mediante una propiedad y su valor.initial). En el fondo. accede a los elementos empleando el operador de punto y el operador de acceso a matriz y. Entero no negativo que especifica el número de elementos de la matriz. my_array[1] = "February". my_array[3] = "April". my_array contiene cuatro meses del año: var my_array:Array = new Array(). Otra razón para declarar una matriz asociativa como tipo Object es que permite utilizar un literal de objeto para llenar la matriz asociativa (pero sólo en el momento en que se declara).

__resolve (propiedad Object. Elimina el último elemento de una matriz y devuelve el valor de dicho elemento. rango de elementos de la matriz original sin concat([value:Obje Concatena los elementos especificados en los join([delimiter:St Convierte los elementos de una matriz en ring]) : String pop() : Object push(value:Object) Añade uno o varios elementos al final de una : Number reverse() : Void shift() : Object slice([startIndex: Devuelve una matriz nueva que consta de un Number].Propiedades heredadas de la clase Object constructor (propiedad Object. __proto__ (propiedad Object. Resumen de métodos Modificadores Firma ct]) : Array Descripción parámetros con los elementos de una matriz y crea una matriz nueva.constructor).__proto__). prototype (propiedad Object. Array 231 . [options:Number]) : Array [endIndex:Number]) modificar la matriz original. Elimina el primer elemento de una matriz y devuelve dicho elemento. los concatena y devuelve la cadena resultante. inserta el separador especificado entre los elementos. cadenas. Invierte la colocación de la matriz. ion:Object].prototype). matriz y devuelve la nueva longitud de la matriz. : Array sort([compareFunct Ordena los elementos de una matriz.__resolve) Resumen de constructores Firma Array([value:Object]) Descripción Permite crear una matriz.

Number. [deleteCount:Numbe r].valueOf).registerClass). registerClass (método Object. isPropertyEnumerable (método Object.toString). El valor de cada elemento se establece como undefined. se creará una matriz con una longitud de 0. valueOf (método Object. matriz y devuelve la nueva longitud de la matriz. 232 Clases de ActionScript . unshift(value:Obje Añade uno o varios elementos al comienzo de una ct) : Number Métodos heredados de la clase Object addProperty (método Object. sortOn(fieldName:O Ordena los elementos de una matriz por uno o splice(startIndex: Añade y elimina elementos de una matriz. se creará una matriz con valores específicos. [value:Object]) : Array toString() : String Devuelve un valor de cadena que representa los elementos del objeto Array especificado.Modificadores Firma bject. unwatch (método Object.hasOwnProperty). Sintaxis 2: Si especifica sólo una longitud. una matriz con una longitud específica pero cuyos elementos tengan valores no definidos o una matriz cuyos elementos tengan valores específicos. se creará una matriz con el número de elementos length. [options:Object]) : Array Descripción varios campos de la matriz.isPrototypeOf). Sintaxis 3: Si utiliza los parámetros element para especificar los valores.watch) Constructor Array public Array([value:Object]) Permite crear una matriz. Puede utilizar el constructor para crear diferentes tipos de matrices: una matriz vacía. hasOwnProperty (método Object.isPropertyEnumerable). isPrototypeOf (método Object.addProperty). watch (método Object. Sintaxis 1: Si no especifica ningún parámetro. toString (método Object.unwatch).

"Kathy".join(". Nota:si sólo se pasa un parámetro numérico al constructor Array.Uno de los siguientes valores: Un entero que especifica el número de elementos de la matriz. trace(my_array. Number. "Gina". // Devuelve 4. El primer elemento de una matriz siempre tiene un índice o una posición de 0. // Devuelve Belinda + Nina + Kathy + Charlotte + Jane + Donna. "Kathy".join(" + ")). Los valores pueden ser de tipo Boolean. Ejemplo Sintaxis 1: El ejemplo siguiente crea un objeto Array nuevo con una longitud inicial de 0: var my_array:Array = new Array(). "Charlotte". "Gina".length). // Rastrea 0. Los elementos iniciales de la matriz go_gos_array están identificados. "Jane". trace(my_array[0]). trace(go_gos_array. Sintaxis 2: El ejemplo siguiente crea un objeto Array nuevo con una longitud inicial de 4: var my_array:Array = new Array(4). trace(go_gos_array. ")).length). como se muestra en el ejemplo siguiente: go_gos_array[0] go_gos_array[1] go_gos_array[2] go_gos_array[3] go_gos_array[4] = = = = = "Belinda". } // Rastrea: undefined is a special value. // Devuelve 5. Array 233 . El código siguiente añade un sexto elemento a la matriz go_gos_array y cambia el segundo elemento: go_gos_array[5] = "Donna". trace(my_array. not a string"). "Jane"). if (my_array[0] == undefined) { // Sin comillas que cierren undefined. // Devuelve undefined. not a string. go_gos_array[1] = "Nina" trace(go_gos_array. String. trace("undefined is a special value.length). se asumirá que es length y se convertirá a un entero empleando la función Integer(). "Charlotte". Sintaxis 3: El ejemplo siguiente crea el objeto Array nuevo go_gos_array con una longitud inicial de 5: var go_gos_array:Array = new Array("Belinda". // Muestra elementos.Parámetros value:Object ■ ■ [opcional] . Una lista de dos o más valores arbitrarios. Object o Array.

1.3). Puede utilizar esta constante para el parámetro options en el método sort() o sortOn().2.Una matriz que contiene los elementos de esta matriz seguidos de los elementos de los parámetros.sort).CASEINSENSITIVE) public static CASEINSENSITIVE : Number Representa una ordenación sin distinción entre mayúsculas y minúsculas.length) CASEINSENSITIVE (propiedad Array. var alphaNumeric_array:Array =alpha_array."c"). length (propiedad Array. se creará un duplicado de my_array.sortOn) concat (método Array.concat(numeric_array). var numeric_array:Array = new Array(1.2. Si no se pasa ningún valor. 234 Clases de ActionScript ."b".b.concat) public concat([value:Object]) : Array Concatena los elementos especificados en los parámetros con los elementos de una matriz y crea una matriz nueva. // Crea la matriz [a. trace(alphaNumeric_array). Véase también sort (método Array. Si los parámetros de value especifican una matriz.Véase también Operador acceso a matriz ([]).Números. Valor devuelto Array . Ejemplo El código siguiente concatena dos matrices: var alpha_array:Array = new Array("a". Parámetros value:Object [opcional] . se concatenarán los elementos de dicha matriz en lugar de la propia matriz.3]. elementos o cadenas que se van a concatenar en una matriz nueva. La matriz my_array permanece sin cambios. El valor de esta constante es 1.c. sortOn (método Array.

9]. // c trace(x_array[3]). // b trace(x_array[2]). como se muestra en el ejemplo siguiente: var a_array:Array = new Array ("a". El valor de esta constante es 2.sortOn) join (método Array. // a trace(x_array[1]). no por el separador pasado al método join().4.El código siguiente concatena tres matrices: var num1_array:Array = [1. los concatena y devuelve la cadena resultante. trace(x_array[0]).8.7. Array 235 . var num2_array:Array = [2.join) public join([delimiter:String]) : String Convierte los elementos de una matriz en cadenas. // 4 DESCENDING (propiedad Array.8.3."b".2. var x_array:Array = a_array.). Las matrices anidadas no se alisan de la misma forma que las matrices normales.6. // 1 trace(x_array[4]).DESCENDING) public static DESCENDING : Number Representa una ordenación en orden descendente. Los elementos de una matriz anidada no se dividen en elementos separados en la matriz x_array.concat(num2_array.3. 3].5].5.9].4.num3_array) trace(nums_array). 3 trace(x_array[5]). Puede utilizar esta constante para el parámetro options en el método sort() o sortOn(). // 2 y 3 son elementos de una matriz anidada. 4). Véase también sort (método Array. sortOn (método Array. var num3_array:Array = [7.6]. var n_array:Array = new Array(1. // Crea la matriz [1. [2.concat(n_array).sort). // 2. var nums_array:Array=num1_array. inserta el separador especificado entre los elementos. Una matriz anidada siempre va separada por una coma (."c").

El ejemplo siguiente crea una matriz anidada que contiene dos matrices. // Muestra Earth + Moon + Sun.Sun. Io y Callisto.split) length (propiedad Array.join(" + ")). trace(a_nested_array. Ejemplo El ejemplo siguiente crea una matriz con tres elementos: Earth.Moon.Parámetros delimiter:String [opcional] .length) public length : Number Entero no negativo que especifica el número de elementos de la matriz. var a_array:Array = new Array("Earth".Io. my_array[index] = value).")).Sun. Moon y Sun. // Muestra Earth.join(" . "Rhea"]).join()).Moon .] y un espacio). esta propiedad length se actualizará a index+1. // Devuelve Europa. A continuación une la matriz tres veces: la primera. 236 Clases de ActionScript . si index es un número e index+1 es mayor que la propiedad length. Valor devuelto String . ["Titan". luego empleando un guión (-) y. pero los elementos dentro de cada matriz anidada permanecen separados por comas (. se utilizará una coma (. La primera matriz tiene tres elementos: Europa. trace(a_array. con el signo más (+).Una cadena. var a_nested_array:Array = new Array(["Europa". Si omite este parámetro. por último. Une la matriz con el signo más (+). "Callisto"].Callisto + Titan. La segunda matriz tiene dos elementos: Titan y Rhea. Esta propiedad se actualiza automáticamente cuando se añaden nuevos elementos a la matriz. trace(a_array. Cuando se asigna un valor a un elemento de matriz (por ejemplo.join(" + ")). Véase también split (método String. // Muestra Earth . utilizando el separador predeterminado (una coma [.Un carácter o una cadena que separa los elementos de matriz en la cadena devuelta.)."Sun") trace(a_array."Moon".) como separador predeterminado.Rhea. "Io".

undefined.length se actualiza a 5 trace(my_array).undefined NUMERIC (propiedad Array.undefined. Véase también sort (método Array.length). // my_array. la matriz se truncará.undefined. La ordenación basada en cadenas. // la longitud inicial es 0 my_array[0] = "a".b. Por ejemplo. por lo que el 3 iría delante del 10. sortOn (método Array. que es la configuración predeterminada. El valor de esta constante es 16.undefined.undefined. trace(my_array.b. 2 y 10.undefined.sortOn) Array 237 .length se actualiza a 1 my_array[1] = "b". trata los números como cadenas al ordenarlos. Ejemplo El código siguiente explica cómo se actualiza la propiedad length.length). trace(my_array.undefine d. // muestra: // a.c // si la propiedad length se establece ahora en 5. // my_array.Nota: si asigna un valor a la propiedad length inferior a la longitud existente.length se actualiza a 2 my_array[9] = "c".sort).length). Si asigna una valor a la propiedad length inferior a la longitud existente. // my_array. la matriz se truncará: var my_array:Array = new Array().undefined. Se puede utilizar esta constante para el parámetro options en el método sort() o sortOn().length).length = 5.NUMERIC) public static NUMERIC : Number Representa una ordenación numérica en lugar de una ordenación basada en cadenas. trace(my_array. trace(my_array.length). la ordenación basada en cadenas coloca un 10 por delante de un 3.undefined. Una ordenación numérica trata los elementos como números. trace(my_array. la matriz se truncará my_array. La longitud inicial es 0 y luego se actualiza a 1. // my_array.length se actualiza a 10 trace(my_array). // produce el resultado: a.

var popped:Object = myPets_array. "fish"). Parámetros value:Object . Véase también push (método Array. "dog"). trace(pushed). Dado que el método push() devuelve la nueva longitud de la matriz.shift). la sentencia trace() de la última línea envía la nueva longitud de myPets_array (4) al panel Salida. "bird". Ejemplo El ejemplo siguiente crea una matriz myPets_array con dos elementos definidos: cat y dog. Valor devuelto Object . // Muestra fish.bird. 238 Clases de ActionScript . Valor devuelto Number .push) public push(value:Object) : Number Añade uno o varios elementos al final de una matriz y devuelve la nueva longitud de la matriz. // Muestra cat. trace(popped). // Muestra 4.unshift) push (método Array. var pushed:Number = myPets_array.pop (método Array. var myPets_array:Array = new Array("cat". "dog". "fish").pop(). shift (método Array. La segunda línea añade dos elementos a la matriz.dog.Uno o más valores que se añadirán a la matriz.Un entero que representa la longitud de la nueva matriz. a continuación.El valor del último elemento de la matriz especificada. elimina su último elemento: var myPets_array:Array = new Array("cat". trace(myPets_array).push("bird".pop) public pop() : Object Elimina el último elemento de una matriz y devuelve el valor de dicho elemento.push). unshift (método Array. Ejemplo El código siguiente crea la matriz myPets_array que contiene cuatro elementos y.

unshift) RETURNINDEXEDARRAY (propiedad Array. trace(numbers_array).reverse(). 5. Array 239 . 6).3.3.5. numbers_array.shift) public shift() : Object Elimina el primer elemento de una matriz y devuelve dicho elemento.RETURNINDEXEDARRAY) public static RETURNINDEXEDARRAY : Number Representa la opción para devolver una matriz indexada como resultado de llamar al método sort() o sortOn().6. Valor devuelto Object .2.sortOn) reverse (método Array.reverse) public reverse() : Void Invierte la colocación de la matriz. // Muestra 1. trace(numbers_array). Proporciona funciones de vista previa o copia al devolver una matriz que representa los resultados de la ordenación y deja la matriz original sin modificar.pop). El valor de esta constante es 8.1. shift (método Array. 2.sort). shift (método Array. 4. unshift (método Array. Ejemplo El ejemplo siguiente utiliza este método para invertir la matriz numbers_array: var numbers_array:Array = new Array(1.Véase también pop (método Array. Puede utilizar esta constante para el parámetro options en el método sort() o sortOn().shift). Véase también sort (método Array. 3. sortOn (método Array. // Muestra 6.4.4.2.5.El primer elemento de una matriz.

Un número que especifica el índice del punto final para la división. endIndex:Number Valor devuelto Array .slice) public slice([startIndex:Number].pop). "bird". el punto final se especificará desde el final de la matriz. "canary". [opcional] . a continuación.fish. "fish". var myFourLeggedPets_array:Array = new Array().Una matriz que consta de un rango de elementos de la matriz original. Si no se pasa ningún parámetro. se creará un duplicado de la matriz original.push). "fish"). "dog". La matriz devuelta incluye el elemento startIndex y todos los elementos hasta endIndex.shift(). [endIndex:Number]) : Array Devuelve una matriz nueva que consta de un rango de elementos de la matriz original sin modificar la matriz original. "parrot"). Si omite este parámetro. el punto inicial comenzará al final de la matriz. // Muestra dog. push (método Array. // Muestra "cat". trace(shifted).bird. elimina el primer elemento de la matriz y lo asigna a la variable shifted: var myPets_array:Array = new Array("cat". donde -1 es el último elemento.unshift) slice (método Array. "dog".Ejemplo El código siguiente crea la matriz myPets_array y. Si end es un número negativo. trace(myPets_array). var shifted:Object = myPets_array. Véase también pop (método Array. 2). sin incluir éste. unshift (método Array.slice(0. Si start es un número negativo. Ejemplo El ejemplo siguiente crea una matriz de cinco mascotas y utiliza slice() para llenar una nueva matriz que sólo contiene las mascotas con cuatro patas: var myPets_array:Array = new Array("cat". donde -1 es el último elemento. 240 Clases de ActionScript .Un número que especifica el índice del punto inicial para la división. Parámetros startIndex:Number [opcional] . var myFourLeggedPets_array = myPets_array. la división incluirá todos los elementos desde el punto inicial hasta el final de la matriz.

Array 241 .canary. trace(myAquaticPets_array). los elementos que tengan campos de ordenación idénticos se sitúan consecutivamente en la matriz ordenada sin seguir ningún orden específico. Flash ordena por valores Unicode. "fish". Si crea una función personalizada. var myAquaticPets_array:Array = myPets_array. con el nombre de dicha función como primer parámetro (compareFunction). ■ Si desea ordenar una matriz utilizando valores que se desvían de los predeterminados. La ordenación es ascendente (a precede a b).slice(2. puede utilizar una de las opciones de ordenación que se describen en la entrada del parámetro options o puede crear una función personalizada para realizar la ordenación.dog. utiliza slice() con un parámetro start negativo para copiar los dos últimos elementos de la matriz: var myPets_array:Array = new Array("cat". El ejemplo siguiente crea una matriz de cinco mascotas y utiliza slice() con un parámetro end negativo para copiar el elemento central de la matriz: var myPets_array:Array = new Array("cat". "parrot"). Los campos numéricos se ordenan como si fueran cadenas. // Devuelve cat. Array sort() funciona de la forma descrita en la siguiente lista: ■ ■ ■ La ordenación distingue entre mayúsculas y minúsculas (Z precede a a).-2). "dog".slice(-2).parrot. podrá utilizarla llamando al método sort().trace(myFourLeggedPets_array). sort (método Array. trace(myFlyingPets_array). [options:Number]) : Array Ordena los elementos de una matriz. "dog".fish. trace(myPets_array). (ASCII es un subconjunto de Unicode. "parrot"). La matriz se modifica para reflejar el orden de clasificación. a continuación. // Rastrea canary.dog. var myFlyingPets_array:Array = myPets_array. de manera que 100 precede a 99.parrot. "canary". // Devuelve fish. // Devuelve cat. dado que "1" es un valor de cadena inferior a "9". "canary".sort) public sort([compareFunction:Object].) De manera predeterminada. El ejemplo siguiente crea una matriz de cinco mascotas y. "fish".

Nota:Array. Valor devuelto Array .RETURNINDEXEDARRAY para el parámetro options. si A debe aparecer después que B en la secuencia ordenada ■ ■ ■ options:Number [opcional] .sort() se define en ECMA-262. Estos son los valores válidos del parámetro options: ■ ■ ■ ■ ■ Array. Flash devolverá el valor 0 y no modificará la matriz. si A es igual a B 1.sortOn().Parámetros compareFunction:Object [opcional] . ■ ■ 242 Clases de ActionScript .Uno o más números o nombres de constantes definidas. Flash devolverá una matriz que reflejará los resultados de la ordenación y no modificará la matriz.El valor devuelto depende de si pasa algún parámetro. como se describe en la siguiente lista: ■ Si especifica el valor 4 o Array.UNIQUESORT o1 o2 o4 o8 Array. si A debe aparecer antes que B en la secuencia ordenada 0. En cualquier otro caso. que cambian el comportamiento de la ordenación respecto al valor predeterminado. Dados los elementos A y B.CASEINSENSITIVE Array. separados por el operador | (OR en modo bit).UNIQUESORT para el parámetro options y dos o más elementos ordenados tienen campos de ordenación idénticos. pero las opciones de ordenación de matrices introducidas en Flash Player 7 son extensiones específicas de Flash para la especificación ECMA-262. Flash no devuelve nada y modifica la matriz de manera que refleje el orden de clasificación.RETURNINDEXEDARRAY Array.Una función de comparación utilizada para determinar el orden de los elementos de una matriz. Si especifica el valor 8 o Array.NUMERIC o 16 Para más información sobre este parámetro. el resultado de compareFunction puede tener uno de los tres valores siguientes: -1. consulte el método Array.DESCENDING Array.

mom:glam. } else if (name1>name2) { return 1.split(":")[0].anne:home.jay:mag. "cherries").strawberries.oranges.cherries.anne:home. "anne:home".regina:silly. } else { return 0.jay:mag. trace(fruits_array). "strawberries".sort() con una función compare: Las entradas se ordenan en el formato nombre:contraseña Ordene utilizando como criterio la parte del nombre solamente: var passwords_array:Array = new Array("mom:glam".pineapples. trace(fruits_array).jay:mag. trace("Sorted:").sort().oranges. "apples".cherries. //Muestra Sorted: trace(passwords_array).regina:silly.jay:mag. } } trace("Unsorted:").strawberries. // Muestra strawberries. trace(fruits_array). var name2:String = b. // Muestra apples.sortOn) Array 243 . // Escribe strawberries.apples. trace(fruits_array).split(":")[0].anne:home.cherries. // Escribe apples.apples. Véase también Operador OR en modo bit (|). Sintaxis 2: El ejemplo siguiente utiliza Array. //Escribe mom:glam. //Muestra Unsorted: trace(passwords_array). //Muestra mom:glam. "pineapples".oranges.ana:ring.apples.sort(order). //Muestra ana:ring.regina:silly passwords_array.Ejemplo Sintaxis 1: En ejemplo siguiente muestra el uso de Array. "jay:mag".pineapples.strawberries.cherries.cherries. function order(a.mom:glam.sort(Array. sortOn (método Array.pineapples. b):Number { var name1:String = a.pineapples. trace(fruits_array).pineapples. fruits_array. //Escribe ana:ring.oranges.DESCENDING).ana:ring. // Muestra oranges.regina:silly. if (name1<name2) { return -1. fruits_array. "regina:silly"). "ana:ring".anne:home.sort() con y sin un valor pasado para options: var fruits_array:Array = new Array("oranges".

etc. La ordenación es ascendente (a precede a b).) Si uno de los elementos que se están comparando no contiene el campo especificado en el parámetro fieldName.sortOn(someFieldName.DESCENDING | Array. Todos los objetos tienen al menos una propiedad en común. De manera predeterminada. (ASCII es un subconjunto de Unicode. ■ Se puede utilizar el parámetro options para sustituir el comportamiento de ordenación predeterminado. 244 Clases de ActionScript . cuyos valores pueden emplearse para ordenar la matriz. [options:Object]) : Array Ordena los elementos de una matriz por uno o varios campos de la matriz. Si quiere ordenar una matriz sencilla (por ejemplo.sort(). Los campos numéricos se ordenan como si fueran cadenas.NUMERIC).sortOn (método Array. La matriz se modifica para reflejar el orden de clasificación. Cada elemento de la matriz contiene un objeto con una o varias propiedades. Esa propiedad se denomina campo. Array sortOn() funciona de la forma descrita en la siguiente lista: ■ ■ ■ La ordenación distingue entre mayúsculas y minúsculas (Z precede a a).sortOn) public sortOn(fieldName:Object. La matriz debe tener las siguientes características: ■ ■ ■ La matriz es indexada. Para pasar varios indicadores. Array. Si pasa varios parámetros fieldName. el primer campo representará al campo de ordenación principal. el segundo representará al siguiente campo de ordenación. utilice Array. se dará por hecho que el campo no está definido (undefined) y los elementos se colocarán consecutivamente en la matriz ordenada sin seguir ningún orden determinado. los elementos que tengan campos de ordenación idénticos se sitúan consecutivamente en la matriz ordenada sin seguir ningún orden específico. una matriz con un solo campo) o si desea especificar un orden de clasificación que el parámetro options no admite. de manera que 100 precede a 99. Flash ordena por valores Unicode. no asociativa. sepárelos con el operador OR en modo de bit (|): my_array. dado que "1" es un valor de cadena inferior a "9".

zip: 68144}).push({name: rec_array.UNIQUESORT para el parámetro options y dos o más elementos ordenados tienen campos de ordenación idénticos. "john".DESCENDING Array.push({name: rec_array. Estos son los valores válidos del parámetro options: options:Object ■ ■ ■ ■ ■ Array. Flash devolverá el valor 0 y no modificará la matriz. ■ ■ Ejemplo El ejemplo siguiente crea una matriz nueva y la ordena de acuerdo con los campos name y city. etc.Uno o más números o nombres de constantes definidas. "bob". Si especifica el valor 8 o Array. city: "kansas city". como se describe en la siguiente lista: ■ Si especifica el valor 4 o Array.Parámetros fieldName:Object . Valor devuelto Array .RETURNINDEXEDARRAY para el parámetro options. En cualquier otro caso. [opcional] .El valor devuelto depende de si pasa algún parámetro.UNIQUESORT o1 o2 o4 o8 Array.RETURNINDEXEDARRAY Array. zip: 94010}). que cambian el comportamiento de la ordenación. Flash no devuelve nada y modifica la matriz de manera que refleje el orden de clasificación. "john".push({name: new Array(). var rec_array:Array = rec_array. La primera ordenación utiliza name como primer valor de ordenación y city como segundo. city: "omaha".Una cadena que identifica un campo que se va a utilizar como valor de ordenación. Array 245 . el segundo representa el campo de ordenación secundario.CASEINSENSITIVE Array. La segunda ordenación utiliza city como primer valor de ordenación y name como segundo.NUMERIC o 16 Las sugerencias están activadas si se utiliza la forma de cadena del indicador (por ejemplo. Flash devolverá una matriz que reflejará los resultados de la ordenación y no modificará la matriz. o una matriz en la cual el primer elemento representa el campo de ordenación principal. city: "omaha". separados por el operador | (OR en modo bit). zip: 72345}). DESCENDING) en lugar de su forma numérica (2).

kansas city // bob. i<rec_array. " + rec_array[i].push({password: my_array. omaha // john. i++){ trace(rec_array[i]. omaha rec_array. } // Resultados: // john.name + ". i++){ trace(rec_array[i].sortOn("password". age:29}). // Bob // abcd // barb // catchy La ordenación con distinción entre mayúsculas y minúsculas por el campo password produce el siguiente resultado: my_array. "Bob". que muestran cómo utilizar el parámetro options: var my_array:Array = new my_array. "catchy".push({password: Array().sortOn("password").CASEINSENSITIVE). omaha // john. // abcd // barb // Bob // catchy 246 Clases de ActionScript . } // Resultados: // bob. } // Resultados: // john. omaha rec_array.for(i=0.sortOn(["city".sortOn(["name". for(i=0.name + ".city).length.length. Array. age:3}). age:35}). for(i=0. "name" ]). "abcd". i++){ trace(rec_array[i]. omaha // john.city).length. kansas city // john.push({password: my_array. omaha La matriz de objetos siguiente se utiliza en los ejemplos restantes. " + rec_array[i]. "barb". " + rec_array[i]. La ordenación predeterminada por el campo password produce el siguiente resultado: my_array. kansas city // bob. age:4}). i<rec_array.name + ".city).push({password: my_array. i<rec_array. "city"]).

age = 35 La ordenación numérica descendente por el campo age produce el siguiente resultado: my_array. // my_array[0]. // 29 // 3 // 35 // 4 La ordenación numérica por el campo age produce el siguiente resultado: my_array. Array.age = 3 // my_array[1].age = 3 Cuando utilice la opción de ordenación Array.DESCENDING).RETURNINDEXEDARRAY).sortOn("age".age = 4 // my_array[2].sortOn("password". var indexArray:Array = my_array.NUMERIC). Array. Véase también Operador OR en modo bit (|). Array.CASEINSENSITIVE | Array.age = 29 // my_array[3]. // catchy // Bob // barb // abcd La ordenación predeterminada por el campo age produce el siguiente resultado: my_array.sortOn("age").sortOn("age".La ordenación con distinción entre mayúsculas y minúsculas en orden descendente por el campo password produce el siguiente resultado: my_array. // my_array[0].NUMERIC).DESCENDING | Array. sort (método Array.RETURNEDINDEXARRAY.age = 29 // my_array[2]. La matriz original no se modifica. Array.sort) Array 247 .sortOn("age".age = 35 // my_array[1]. deberá asignar el valor devuelto a otra matriz.age = 4 // my_array[3].

Si no se ha especificado ningún valor para el parámetro deleteCount. Parámetros . trace(myPets_array). value:Object [opcional] . De este modo se eliminan dos los elementos de la matriz a partir del segundo elemento. Este método modifica la matriz sin realizar ninguna copia de ella.Un entero que especifica el índice del elemento de la matriz donde comienza la inserción o eliminación. Valor devuelto Array . trace(myFlowers_array. Puede especificar un entero negativo para establecer una posición relativa al final de la matriz (por ejemplo.Especifica el valor que se va a insertar en la matriz en el punto de inserción especificado en el parámetro startIndex. startIndex:Number deleteCount:Number [opcional] . // roses. no se eliminará ningún elemento.fish.2)). dejando el primero y el últimos elementos en la matriz original: var myFlowers_array:Array = new Array("roses".splice(1)). "tulips". "orchids"). [deleteCount:Number]. // Muestra dog.splice(1.orchids 248 Clases de ActionScript . "lilies". // cat El ejemplo siguiente crea una matriz y la divide utilizando el índice de elemento 1 para el parámetro startIndex y el número 2 para el parámetro deleteCount. Este número incluye el elemento especificado en el parámetro startIndex.splice) public splice(startIndex:Number. De este modo se eliminan todos los elementos de la matriz a partir del segundo elemento. "bird".lilies. Ejemplo El ejemplo siguiente crea una matriz y la divide utilizando el índice de elemento 1 para el parámetro startIndex. dejando únicamente el elemento de índice 0 en la matriz original: var myPets_array:Array = new Array("cat". // Muestra tulips. trace(myPets_array.splice (método Array.Un entero que especifica el número de elementos que se va a eliminar. el método elimina todos los valores desde el elemento startIndex hasta el último elemento de la matriz. trace(myFlowers_array). Si el valor es 0.bird. -1 es el último elemento de la matriz). "fish"). [value:Object]) : Array Añade y elimina elementos de una matriz.Una matriz que contiene los elementos eliminados de la matriz original. "dog".

El ejemplo siguiente crea una matriz y la divide utilizando el índice de elemento 1 para el parámetro startIndex. No se elimina nada de la matriz original y añade la cadena chair en el índice 1: var myFurniture_array:Array = new Array("couch".2. utilice el método Array. // muestra couch.5 como resultado de la sentencia trace. Ejemplo El ejemplo siguiente crea my_array y la convierte en una cadena.toString()).bed.join(). "chair")). Véase también split (método String.Una cadena. my_array[2] = 3. my_array[4] = 5. "lamp"). el número 0 para el parámetro deleteCount y la cadena chair para el parámetro value.lamp toString (método Array.0. Valor devuelto String . // Muestra una matriz vacía. my_array[1] = 2.4. my_array[0] = 1.desk. Para especificar un separador personalizado. Este ejemplo produce 1.toString) public toString() : String Devuelve un valor de cadena que representa los elementos del objeto Array especificado.splice(1.split).4. Cada elemento de la matriz.3. var my_array:Array = new Array().3. trace(myFurniture_array). "desk". join (método Array. se convierte en una cadena concatenada separada por comas. my_array[3] = 4.chair.join) Array 249 .5. "bed". trace(myFurniture_array. comenzando por el índice 0 y terminando por el índice más alto.2. // Muestra 1. trace(my_array.

cat. Valor devuelto Number .cat. push (método Array.unshift) public unshift(value:Object) : Number Añade uno o varios elementos al comienzo de una matriz y devuelve la nueva longitud de la matriz. Véase también sort (método Array.UNIQUESORT) public static UNIQUESORT : Number Representa el requisito de ordenación exclusiva.UNIQUESORT (propiedad Array.shift) 250 Clases de ActionScript . Parámetros value:Object .fish. "fish"). "cat".Uno o más números. trace(pets_array).unshift(): var pets_array:Array = new Array("dog". Ejemplo El ejemplo siguiente muestra el uso del método Array.gophers.engineers. trace(pets_array). // Muestra dog. shift (método Array. El valor de esta constante es 4.unshift("ferrets". // Muestra ferrets.pop). sortOn (método Array.fish. Véase también pop (método Array. "engineers").push).Un entero que representa la nueva longitud de la matriz. Puede utilizar esta constante para el parámetro options del método sort() o sortOn().sortOn) unshift (método Array. La opción de ordenación exclusiva anula la ordenación si dos elementos o campos que se están ordenando tienen valores idénticos.dog. elementos o variables que se insertarán al principio de la matriz. "gophers". pets_array.sort).

Resumen de propiedades Propiedades heredadas de la clase Object constructor (propiedad Object.constructor). Resumen de métodos Modificadores Firma toString() : String valueOf() : Boolean Descripción Devuelve la representación de cadena ("true" o "false") del objeto Boolean.__resolve) Resumen de constructores Firma Boolean([value:Object]) Descripción Crea un objeto Boolean.prototype). Devuelve true si el tipo de valor simple del objeto Boolean especificado es true. prototype (propiedad Object.Boolean Object | +-Boolean public class Boolean extends Object La clase Boolean es un envolvente con la misma funcionalidad que el objeto Boolean estándar de JavaScript. __proto__ (propiedad Object. devuelve false Boolean 251 . Debe utilizar el constructor new Boolean() para crear un objeto booleano antes de llamar a sus métodos. Utilice la clase Boolean para recuperar el tipo de datos simple o la representación de cadena de un objeto booleano. en cualquier otro caso.__proto__). __resolve (propiedad Object.

watch (método Object.isPrototypeOf). hasOwnProperty (método Object. toString (método Object.valueOf).hasOwnProperty). el método lo evaluará y devolverá el resultado como un valor booleano conforme a las reglas de la función Boolean(). Parámetros value:Object [opcional] .toString). "true" o "false". Ejemplo Este ejemplo crea una variable de tipo booleano y utiliza toString() para convertir el valor en una cadena para utilizarla en la sentencia trace: var myBool:Boolean = true.toString) public toString() : String Devuelve la representación de cadena ("true" o "false") del objeto Boolean. Valor devuelto String .toString()). el objeto Boolean se inicializa con el valor false. Ejemplo El código siguiente crea un nuevo objeto Boolean vacío llamado myBoolean: var myBoolean:Boolean = new Boolean(). El valor predeterminado es false.watch) Constructor Boolean public Boolean([value:Object]) Crea un objeto Boolean. registerClass (método Object. valueOf (método Object. isPrototypeOf (método Object. toString (método Boolean.unwatch).isPropertyEnumerable).addProperty). trace("The value of the Boolean myBool is: " + myBool. 252 Clases de ActionScript . unwatch (método Object.Cualquier expresión. Si omite el parámetro value. trace("The value of the Boolean myBool is: " + myBool.toString()).Métodos heredados de la clase Object addProperty (método Object.registerClass). myBool = false. isPropertyEnumerable (método Object.Una cadena. Si especifica un valor para el parámetro value.

// false x = (6==3+3). // true Button Object | +-Button public class Button extends Object Todos los símbolos de botón de un archivo SWF son instancias del objeto Button.valueOf()). devuelve false Valor devuelto Boolean . en cualquier otro caso. La clase Button hereda de la clase Object.valueOf()).valueOf) public valueOf() : Boolean Devuelve true si el tipo de valor simple del objeto Boolean especificado es true. trace(x. trace(x. Véase también Object Button 253 .valueOf (método Boolean. Puede asignar a un botón un nombre de instancia en el inspector de propiedades y utilizar los métodos y propiedades de la clase Button para manipular botones con ActionScript.Valor booleano. Los nombres de instancias de Button se muestran en el explorador de películas y en el cuadro de diálogo Insertar ruta de destino del panel Acciones. Ejemplo El ejemplo siguiente muestra cómo funciona este método y también que el tipo de valor simple de un objeto Boolean nuevo es false: var x:Boolean = new Boolean().

enabled:Boolean _focusrect:Boolean _height:Number _highquality:Number _name:String _parent:MovieClip _quality:String _rotation:Number _soundbuftime:Number Especifica el número de segundos que un sonido tabEnabled:Boolean Especifica si my_btn está incluido en el orden de tabulación automático. Giro del botón. Desfasadadesde Flash Player 7.Devuelve la ruta de destino de la instancia de only] trackAsMenu:Boolean _url:String [read- only] 254 Clases de ActionScript ._quality. Recupera la URL del archivo SWF que creó el botón. Un valor booleano que especifica si está activado un botón. botón especificada por my_btn. Propiedad (global). debe acumularse previamente en el búfer antes de que comience a reproducirse sin interrupción. Esta propiedad está desfasada y en su lugar debe utilizarse Button. con respecto a su orientación original. Nombre de instancia del botón especificado por my_btn. Valor booleano que especifica si un botón debe mostrar un rectángulo amarillo a su alrededor cuando tiene selección de entrada. Altura del botón. Referencia al clip de película u objeto que contiene el clip de película u objeto actual. expresado en grados. Especifica el nivel de visualización suavizada que se aplica al archivo SWF actual. tabIndex:Number _target:String [read. establece o recupera la calidad de representación utilizada por un archivo SWF. expresada en píxeles. Permite personalizar el orden de tabulación de los objetos de un archivo SWF.Resumen de propiedades Modificadores Propiedad _alpha:Number Descripción Valor de transparencia alfa del botón especificado por my_btn. Valor booleano que indica si otros botones o clips de película pueden recibir un evento de liberación del botón del ratón o del lápiz stylus.

Se invoca cuando el usuario presiona el botón del ratón cuando se encuentra fuera del botón y después arrastra el puntero encima del botón.__resolve) Resumen de eventos Evento onDragOut = function() {} onDragOver = function() {} Descripción Se invoca cuando el usuario presiona el botón del ratón encima del botón y después arrastra el puntero fuera del botón. Coordenada y del botón relativa a las coordenadas locales del clip de película principal.Devuelve la coordenada x relativa al botón (si only] _xscale:Number _y:Number _ymouse:Number [read. Se invoca cuando un botón se ha seleccionado con el teclado y se presiona una tecla.constructor).Modificadores Propiedad _visible:Boolean Descripción Valor booleano que indica si el botón especificado por my_btn es visible. hasMouse es true). prototype (propiedad Object. Escala vertical del botón aplicada desde el punto de registro del botón. Escala horizontal del botón aplicada desde el punto de registro del botón. Entero que establece la coordenada x de un botón como relativa a las coordenadas locales del clip de película principal.prototype). Se invoca cuando un botón tiene la selección de entrada y se suelta una tecla. expresada como porcentaje.Devuelve la coordenada y de la posición del ratón only] _yscale:Number Propiedades heredadas de la clase Object constructor (propiedad Object. expresada en píxeles. onKeyDown = function() {} onKeyUp = function() {} Button 255 . expresada como porcentaje. Anchura del botón. __resolve (propiedad Object. _width:Number _x:Number _xmouse:Number [read.__proto__). __proto__ (propiedad Object. relativa al botón.

valueOf).unwatch).addProperty). onRollOut = function() {} onRollOver = function() {} onSetFocus = function(oldFocus:O bject) {} Resumen de métodos Modificadores Firma getDepth() : Number Descripción Devuelve la profundidad de una instancia de botón.isPrototypeOf).isPropertyEnumerable).Evento onKillFocus = function(newFocus:O bject) {} onPress = function() {} onRelease = function() {} onReleaseOutside = function() {} Descripción Se invoca cuando un botón deja de estar seleccionado con el teclado. isPrototypeOf (método Object.toString).registerClass). registerClass (método Object. toString (método Object. isPropertyEnumerable (método Object. watch (método Object. Se invoca cuando el botón deja de estar seleccionado.watch) 256 Clases de ActionScript . Se invoca cuando el botón se selecciona. Se invoca cuando un botón queda seleccionado con el teclado. Se invoca cuando se presiona una tecla. valueOf (método Object. unwatch (método Object. Métodos heredados de la clase Object addProperty (método Object.hasOwnProperty). Se invoca cuando se suelta un botón. Se invoca cuando se suelta el botón del ratón mientras el puntero está fuera del botón después de haber hecho clic mientras el puntero estaba dentro del botón. hasOwnProperty (método Object.

Dos botones. introduzca el siguiente código en el fotograma 1 para activar o desactivar los botones. asigne a la instancia el nombre myBtn_btn._alpha (propiedad Button. puede que desee desactivar un botón de la página mostrada actualmente para que no se pueda hacer clic en él y no pueda volver a cargarse la página. Véase también _alpha (propiedad MovieClip. Por último._alpha = 50. myBtn1_btn y myBtn2_btn. A continuación. por ejemplo. Cuando un botón está desactivado (la propiedad enabled está configurada como false). con el fotograma 1 seleccionado. }. Los objetos existentes en un botón que tenga configurado _alpha con el valor 0 continuarán activos aunque no sean visibles. el botón está visible pero no se puede hacer clic en él._alpha) enabled (propiedad Button. El valor predeterminado es true.enabled = false. A continuación. myBtn1_btn.. Ejemplo El código siguiente establece la _alpha de un botón llamado myBtn_btn al 50% cuando el usuario hace clic en el botón. introduzca el código siguiente en el panel Acciones: myBtn_btn. se encuentran en el escenario y se añade el código ActionScript siguiente de modo que no se pueda hacer clic en el botón myBtn2_btn: En primer lugar añada dos instancias Button al escenario._alpha). myBtn2_btn.enabled = true.onRelease = function(){ this. Los valores válidos son los comprendidos entre 0 (totalmente transparente) y 100 (totalmente opaco). En primer lugar añada una instancia Button al escenario. Esta propiedad resulta útil si desea desactivar parte de la navegación. Button 257 . asigne a las instancias los nombres myBtn1_btn y myBtn2_btn. Por último. _alpha (propiedad TextField._alpha) public _alpha : Number Valor de transparencia alfa del botón especificado por my_btn.enabled) public enabled : Boolean Un valor booleano que especifica si está activado un botón. El valor predeterminado es 100. Ejemplo El ejemplo siguiente demuestra cómo desactivar y activar botones para hacer clic en ellos.

la navegación con el teclado para ese botón quedará limitada a la tecla Tabulador. También en Flash Lite 2. donde el color del rectángulo de selección únicamente puede ser amarillo. myBtn2_btn. Todas las demás teclas. En archivos SWF de Flash Player 4 y Flash Player 5. se puede cambiar el color del rectángulo de selección utilizando el comando SetFocusRectColor de la función fscommand2. si se desactiva la propiedad _focusrect (es decir. ésta sustituirá a la configuración de la propiedad global _focusrect para la instancia de botón en cuestión. ya que si la propiedad _focusrect se desactiva. Nota: En el reproductor Flash Lite 2._name).enabled se estableció en false myBtn1_btn. quedan anuladas.0. }. Para restablecer el desplazamiento completo con el teclado._focusrect) public _focusrect : Boolean Valor booleano que especifica si un botón debe mostrar un rectángulo amarillo a su alrededor cuando tiene selección de entrada. la propiedad _focusrect controla la propiedad global _focusrect. 258 Clases de ActionScript . Este comportamiento ha cambiado con respecto a Flash Player. De manera predeterminada.focusRect is false). Se trata de un valor booleano.0. Button. }. Este comportamiento también ha cambiado con respecto a Flash Player. Si la propiedad _focusrect se estable como false. _focusrect (propiedad Button. la propiedad _focusrect de una instancia de botón es nula (null). el botón recibe todos los eventos. Esta propiedad puede sustituir a la propiedad global _focusrect. Este comportamiento cambió en Flash Player 6 y versiones posteriores para permitir la personalización de la propiedad _focusrect en un clip de película concreto. incluida Intro y las teclas de flecha._name). la instancia de botón no sustituye a la propiedad global _focusrect. es preciso configurar _focusrect con el valor true. el botón receibe los eventos rollOver y rollOut pero no recibe los eventos press y release. Si la propiedad _focusrect de una instancia de botón se establece como true o false.// código del botón // no se llamará a la siguiente función // porque myBtn2_btn.onRelease = function() { trace("you clicked : " + this.onRelease = function() { trace("you clicked : " + this.

La profundidad de la instancia de botón. Los objetos con mayor profundidad aparecen delante.swf en este documento.myBtn4_btn.swf"). y añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: myBtn2_btn. Asegúrese de desactivar los métodos abreviados de teclado cuando compruebe el archivo SWF seleccionando Control > Deshabilitar métodos abreviados de teclado en el entorno de pruebas. Cree tres botones llamados myBtn1_btn._focusrect = false. trace(myBtn2_btn. botón y campo de texto tiene asociada una profundidad exclusiva que determina cómo aparece el objeto delante o detrás de otros objetos. myClip_mc.onRelease = function(){ trace(myClip_mc. podrá realizar un seguimiento de la profundidad de un botón. dentro de ese archivo SWF empleando otro botón del SWF principal: this.loadMovie("buttonMovie.getDepth()).Ejemplo Este ejemplo muestra cómo ocultar el rectángulo amarillo alrededor de una instancia de botón especificada en un archivo SWF cuando está seleccionada en una ventana del navegador. no es posible ejecutar código para este botón presionando la tecla Intro o la barra espaciadora. Ejemplo Si crea myBtn1_btn y myBtn2_btn en el escenario. podrá realizar un seguimiento de su profundidad empleando el código ActionScript siguiente: trace(myBtn1_btn. Button 259 .getDepth) public getDepth() : Number Devuelve la profundidad de una instancia de botón. myBtn2_btn y myBtn3_btn.getDepth()).createEmptyMovieClip("myClip_mc". Si carga un archivo SWF llamado buttonMovie. myBtn4_btn. getDepth (método Button. 999). }. myBtn3_btn. Cada clip de película. Si _focusrect está desactivado.getDepth()). Valor devuelto Number .

getInstanceAtDepth (método MovieClip. Esto resulta engañoso. Tenga en cuenta que cada clip de película tiene su propio orden z interno.swf se cargó con una profundidad de 999. Los dos botones pueden tener el mismo valor de profundidad._highquality) public _highquality : Number Desfasada desde Flash Player 7. my_btn. expresada en píxeles. 260 Clases de ActionScript . Especifique 0 (baja calidad) para evitar el suavizado. Especifique 2 (mejor calidad) para aplicar alta calidad con el suavizado de mapa de bits siempre activado. los botones tienen el mismo valor de profundidad. En este caso. mientras que el valor de profundidad del botón del archivo SWF cargado se refiere al orden z interno del clip de película myClip_mc. lo que significa que cada clip de película tiene su propio conjunto de valores de profundidad. pero los valores hacen referencia a clips de película distintos: el valor de profundidad del botón del archivo SWF principal hace referencia al orden z de la línea de tiempo principal._width = 500. pero los valores sólo tienen significado en relación con otros objetos del mismo orden z. Véase también getDepth (método MovieClip. Especifique 1 (alta calidad) para aplicar la visualización suavizada.Quizá haya observado que dos de estos botones tienen el mismo valor de profundidad.getDepth). Especifica el nivel de visualización suavizada que se aplica al archivo SWF actual._height = 200. Ejemplo El ejemplo siguiente establece la altura y anchura de un botón llamado my_btn con unos valores especificados. lo que significa que el botón que contiene también tendrá una profundidad de 999 en relación con los botones del archivo SWF principal. Esta propiedad está desfasada y en su lugar debe utilizarse Button. my_btn. getDepth (método TextField._quality. _highquality (propiedad Button. porque buttonMovie.getInstanceAtDepth) _height (propiedad Button. que suaviza los mapas de bits si el archivo SWF no contiene animación y es el valor predeterminado.getDepth). uno en el archivo SWF principal y otro en el archivo SWF cargado._height) public _height : Number Altura del botón.

Véase también _quality (propiedad Button. Nota: el controlador de eventos onDragOut es compatible con Flash Lite 2.Ejemplo Añada una instancia de botón al escenario y asígnele el nombre myBtn_btn. Ejemplo El ejemplo siguiente realiza un seguimiento de todos los nombres de instancia de cualquier instancia Button que se encuentre en la línea de tiempo actual de un archivo SWF. Dibuje un óvalo en el escenario utilizando la herramienta Óvalo con un color de trazo y relleno.capabilities.onRelease = function(){ myBtn_btn. for (i in this) { if (this[i] instanceof Button) { trace(this[i].hasMouse is true o System. el trazo del círculo adquiere un aspecto dentado._name).hasStylus is true. En su lugar puede añadir el código ActionScript siguiente para que afecte el SWF globalmente: _quality = 0. Button 261 . Cuando hace clic en myBtn_btn. Seleccione el fotograma 1 y añada el código ActionScript siguiente a través del panel Acciones: myBtn_btn.capabilities. } } onDragOut (controlador Button. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos._name) public _name : String Nombre de instancia del botón especificado por my_btn.0 únicamente si se cumple System._quality). Propiedad _quality _name (propiedad Button._highquality = 0.onDragOut) onDragOut = function() {} Se invoca cuando el usuario presiona el botón del ratón encima del botón y después arrastra el puntero fuera del botón. }.

onDragOut = function() { trace("onDragOut: " + this.hasStylus is true. Cuando compruebe el archivo SWF.Ejemplo El ejemplo siguiente demuestra cómo puede ejecutar sentencias cuando se arrastra el puntero fuera de un botón.hasMouse is true o System. }.onDragOut = function() { trace("onDragOut: " + this.onDragOver = function() { trace("onDragOver: " + this. my_btn. A continuación. Véase también onDragOut (controlador Button. Nota: el controlador de eventos onDragOver es compatible con Flash Lite 2. Cree un botón llamado my_btn en el escenario e introduzca el código ActionScript siguiente en un fotograma de la línea de tiempo: my_btn. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. vuelva a arrastrarlo sobre la instancia de botón. mientras pulsa el botón del ratón. Ejemplo El ejemplo siguiente define una función del controlador onDragOver que envía una sentencia trace() al panel Salida. my_btn._name). }. Observe que el panel Salida realiza un seguimiento de los movimientos._name).onDragOver = function() { trace("onDragOver: " + this.0 únicamente si se cumple System. Cree un botón llamado my_btn en el escenario e introduzca el código ActionScript siguiente en la línea de tiempo: my_btn._name). }. }.onDragOut) 262 Clases de ActionScript . onDragOver (controlador Button. arrastre el puntero fuera de la instancia de botón._name).onDragOver) onDragOver = function() {} Se invoca cuando el usuario presiona el botón del ratón cuando se encuentra fuera del botón y después arrastra el puntero encima del botón.capabilities.capabilities.

getCode) Button 263 . A continuación.getAscii() y Key. getCode (método Key.getAscii). case Key._name+" (Key: "+getKeyPressed()+")"). break. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.getAscii()) { case Key.onKeyDown (controlador Button. Ejemplo En el ejemplo siguiente se define una función que envía texto al panel Salida para el controlador onKeyDown.getAscii()). default : theKey = chr(Key. Cuando pulsa teclas se muestran en el panel Salida. break. Véase también onKeyUp (controlador Button. } return theKey. Puede utilizar los métodos Key. } Seleccione Control > Probar película para probar el archivo SWF.onKeyDown) onKeyDown = function() {} Se invoca cuando un botón se ha seleccionado con el teclado y se presiona una tecla.SPACE : theKey = "SPACE". getAscii (método Key. pulse la tecla Tabulador hasta que el botón quede seleccionado (aparecerá un rectángulo amarillo alrededor de la instancia my_btn) y comience a pulsar teclas en el teclado. }. Cree un botón llamado my_btn en el escenario e introduzca el código ActionScript siguiente en un fotograma de la línea de tiempo: my_btn. Seleccione Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba.onKeyDown = function() { trace("onKeyDown: "+this.BACKSPACE : theKey = "BACKSPACE".onKeyUp). function getKeyPressed():String { var theKey:String. switch (Key.getCode() para determinar qué tecla ha presionado el usuario. El controlador de eventos onKeyDown se invoca sin parámetros.

getCode) 264 Clases de ActionScript . Cree un botón llamado my_btn en el escenario e introduzca el código ActionScript siguiente en un fotograma de la línea de tiempo: my_btn. getCode (método Key. Puede utilizar los métodos Key._name+" (Key: "+getKeyPressed()+")"). El controlador de eventos onKeyUp se invoca sin parámetros. }.onKeyUp) onKeyUp = function() {} Se invoca cuando un botón tiene la selección de entrada y se suelta una tecla.BACKSPACE : theKey = "BACKSPACE"._name+" (Key: "+getKeyPressed()+")"). default : theKey = chr(Key. Véase también onKeyDown (controlador Button. break. function getKeyPressed():String { var theKey:String. } return theKey. Seleccione Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. break.getAscii()). pulse la tecla Tabulador hasta que el botón quede seleccionado (aparecerá un rectángulo amarillo alrededor de la instancia my_btn) y comience a pulsar teclas en el teclado. getAscii (método Key. Cuando pulsa teclas se muestran en el panel Salida.getAscii). my_btn. } Pulse Control+Intro para comprobar el archivo SWF.getCode() para determinar qué tecla ha presionado el usuario. case Key.onKeyUp (controlador Button.onKeyUp = function() { trace("onKeyUp: "+this.getAscii()) { case Key. switch (Key.onKeyDown = function() { trace("onKeyDown: "+this.getAscii() y Key.onKeyDown). }.SPACE : theKey = "SPACE". A continuación. Ejemplo En el ejemplo siguiente se define una función que envía texto al panel Salida para el controlador onKeyDown handler.

this.multiline = true. }. Cuando la instancia de botón deja de estar seleccionada. Button 265 . Si no hay ningún objeto seleccionado con el teclado. 0. onPress (controlador Button.onKillFocus) onKillFocus = function(newFocus:Object) {} Se invoca cuando un botón deja de estar seleccionado con el teclado. Parámetros newFocus:Object . se envía texto al campo de texto output_txt. my_btn. Compruebe el archivo SWF en una ventana del navegador y utilice la tecla Tabulador para pasar por los elementos de la ventana. El controlador onKillFocus recibe un parámetro. newFocus contendrá el valor null (nulo). }. Cree una instancia de botón llamada my_btn en el escenario y añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: this.text. output_txt._name+newline+output_txt.text = "onKillFocus: "+this.El objeto que recibe la selección.onKillFocus (controlador Button.createTextField("output_txt".border = true. 200).getNextHighestDepth(). output_txt. Ejemplo El ejemplo siguiente demuestra cómo pueden ejecutarse sentencias cuando un botón deja de estar seleccionado.onKillFocus = function() { output_txt. 300. 0.onPress = function () { trace ("onPress called").onPress) onPress = function() {} Se invoca cuando se presiona una tecla. newFocus. output_txt. que es un objeto que representa al nuevo objeto seleccionado.wordWrap = true. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Ejemplo En el ejemplo siguiente se define una función que envía una sentencia trace() al panel Salida para el controlador onPress: my_btn.

hasStylus is true. Ejemplo En el ejemplo siguiente se define una función que envía una sentencia trace() al panel Salida para el controlador onRelease: my_btn.capabilities.onRelease = function () { trace ("onRelease called"). Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.onRelease) onRelease = function() {} Se invoca cuando se suelta un botón. Nota: el controlador de eventos onReleaseOutside es compatible con Flash Lite 2.onRollOut) onRollOut = function() {} Se invoca cuando el botón deja de estar seleccionado. }. Ejemplo En el ejemplo siguiente se define una función que envía una sentencia trace() al panel Salida para el controlador onReleaseOutside: my_btn.onRelease (controlador Button.0 únicamente si se cumple System. onRollOut (controlador Button.capabilities. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. }. onReleaseOutside (controlador Button.hasMouse is true o System. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.onReleaseOutside) onReleaseOutside = function() {} Se invoca cuando se suelta el botón del ratón mientras el puntero está fuera del botón después de haber hecho clic mientras el puntero estaba dentro del botón.onReleaseOutside = function () { trace ("onReleaseOutside called"). Esto puede ocurrir cuando el usuario hace clic en otro botón o área fuera del botón seleccionado. 266 Clases de ActionScript .

onRollOver = function () { trace ("onRollOver called"). }. Por ejemplo. Si anteriormente no había ningún objeto seleccionado con el teclado. Se invoca cuando el puntero se desplaza sobre el área de un botón. Ejemplo En el ejemplo siguiente se define una función que envía una sentencia trace() al panel Salida para el controlador onRollOver: my_btn.Ejemplo En el ejemplo siguiente se define una función que envía una sentencia trace() al panel Salida para el controlador onRollOut: my_btn. El parámetro oldFocus es el objeto que deja de estar seleccionado. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Esto puede ocurrir cuando el usuario hace clic en otro botón fuera del botón seleccionado. onRollOver (controlador Button. oldFocus contendrá un valor null (nulo). onSetFocus (controlador Button. oldFocus contendrá la instancia del campo de texto.onRollOut = function () { trace ("onRollOut called"). si el usuario presiona la tecla Tabulador parar desplazar la selección del teclado de un campo de texto a un botón.onRollOver) onRollOver = function() {} Se invoca cuando el botón se selecciona. Parámetros oldFocus:Object .El objeto que deja de estar seleccionado. Button 267 . }.onSetFocus) onSetFocus = function(oldFocus:Object) {} Se invoca cuando un botón queda seleccionado con el teclado.

btn2_btn.my_btn._parent)._target). El panel Salida muestra lo siguiente: _level0. _target (propiedad MovieClip.onSetFocus = function(oldFocus) { trace(oldFocus. Cuando btn1_btn deja de estar seleccionado y btn2_btn pasa a estar seleccionado._name + "lost focus"). Puede utilizar _parent para subir múltiples niveles en la lista de visualización._parent). _parent (propiedad Button._parent) public _parent : MovieClip Referencia al clip de película u objeto que contiene el clip de película u objeto actual.my_mc Véase también _parent (propiedad MovieClip. Propiedad _root 268 Clases de ActionScript .setFocus(btn1_btn).Ejemplo El ejemplo siguiente demuestra cómo ejecutar sentencias cuando el usuario de un archivo SWF desplaza la selección de un botón a otro. se muestra información en el panel Salida. }.getFocus())._parent. trace(Selection. btn1_btn y btn2_btn. Ejemplo En el ejemplo siguiente. un botón llamado my_btn se sitúa dentro de un clip de película llamado my_mc._parent. Cree dos botones. Seleccione Control > Deshabilitar métodos abreviados de teclado si no está seleccionado. La selección pasará a btn1_btn. El código siguiente muestra cómo utilizar la propiedad _parent para obtener una referencia al clip de película my_mc: trace(my_mc._alpha = 20. e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: Selection. como se muestra a continuación: this. El objeto actual es el que contiene el código ActionScript que hace referencia a _parent. Utilice _parent para especificar una ruta de acceso relativa a los clips de película u objetos que se encuentran por encima del clip de película u objeto actual. Compruebe el archivo SWF pulsando Control+Intro.

_quality) public _quality : String Propiedad (global). pero los mapas de bits no se suavizan. establece o recupera la calidad de representación utilizada por un archivo SWF. Cree dos botones en el escenario llamados control_btn y my_btn. La propiedad _quality puede configurarse con los siguientes valores: ■ ■ "LOW" Calidad de representación baja. A continuación. Ejemplo El ejemplo siguiente gira dos botones en el escenario._rotation) public _rotation : Number Giro del botón. Los gráficos se suavizan empleando una cuadrícula de 2 x 2 píxeles. introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: var control_btn:Button. No se suavizan ni los gráficos ni los mapas de bits. Por ejemplo. Button 269 . "HIGH" Calidad de representación alta._quality = "LOW". Los valores situados fuera de este rango se suman o restan de 360 para obtener un valor que sí esté comprendido en el rango. Los gráficos se suavizan empleando una cuadrícula de 4 x 4 píxeles._quality (propiedad Button. var my_btn:Button. Esta es la calidad de representación predeterminada de Flash. expresado en grados. mientras que los comprendidos entre 0 y -180 representan un giro en sentido contrario al de las agujas del reloj. ■ Nota:aunque puede especificar esta propiedad para un objeto Button. Procure que my_btn no sea completamente redondo. con respecto a su orientación original. por consiguiente._rotation = 90. se trata en realidad de una propiedad global. para poder ver cómo gira. la sentencia my_btn. Las fuentes de dispositivo siempre se muestran dentadas y._rotation = 450 es igual que my_btn. por lo que puede especificar su valor simplemente como _quality. no se ven afectadas por la propiedad _quality. Ejemplo Este ejemplo establece como LOW la calidad de representación de un botón llamado my_btn: my_btn. Los valores comprendidos entre 0 y 180 representan un giro en el sentido de las agujas del reloj. Esta configuración resulta adecuada para películas que no contengan texto. "MEDIUM" Calidad de representación media. mientras que los mapas de bits se suavizan si la película es estática. _rotation (propiedad Button.

_rotation += 2._rotation) _soundbuftime (propiedad Button. Nota:aunque puede especificar esta propiedad para un objeto Button. Véase también _rotation (propiedad MovieClip. tiene el valor undefined. this. Véase también Propiedad _soundbuftime tabEnabled (propiedad Button.tabEnabled) public tabEnabled : Boolean Especifica si my_btn está incluido en el orden de tabulación automático._rotation += 10.onRelease = function() { my_btn. this. 270 Clases de ActionScript .control_btn._rotation). se trata en realidad de una propiedad global que se aplica a todos los sonidos cargados y puede especificar su valor simplemente como _soundbuftime. Ahora puede crear otro botón en el escenario llamado myOther_btn. rotater_mc. Al establecer esta propiedad para un objeto Button en realidad se establece la propiedad global._soundbuftime) public _soundbuftime : Number Especifica el número de segundos que un sonido debe acumularse previamente en el búfer antes de que comience a reproducirse sin interrupción. Para más información y ver un ejemplo. }.getNextHighestDepth()). _rotation (propiedad TextField. Introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: var myOther_btn:Button. procurando que no sea completamente redondo (para poder ver cómo gira). consulte _soundbuftime. De manera predeterminada.createEmptyMovieClip("rotater_mc".onEnterFrame = function() { myOther_btn. }.

tabIndex = 3.tabEnabled = false. añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: false three_btn. la configuración predeterminada es undefined (no definido). Sin embargo. ya que tabEnabled se establece como false para esa instancia. two_btn.tabEnabled) tabIndex (propiedad Button. Para establecer el orden de tabulación para los cuatro botones.tabIndex = 2. tabEnabled (propiedad MovieClip.tabIndex) public tabIndex : Number Permite personalizar el orden de tabulación de los objetos de un archivo SWF. no se incluye three_btn en un orden de tabulación personalizado o automático.tabIndex = 4. el objeto se incluirá también en el orden de tabulación personalizado. four_btn.tabIndex). Button 271 . el objeto no se incluirá en el orden de tabulación automático ni en el personalizado aunque se establezca la propiedad tabIndex. se desactivará el orden de tabulación automático y el orden de tabulación se calculará a partir de las propiedades tabIndex de los objetos del archivo SWF. Puede establecer la propiedad tabIndex de un botón. Si algún objeto mostrado actualmente en el archivo SWF contiene una propiedad tabIndex. El orden de tabulación personalizado sólo incluye objetos que tienen propiedades tabIndex. y four_btn) se colocan en un orden de tabulación personalizado utilizando tabIndex. Ejemplo El código ActionScript siguiente se utiliza para establecer la propiedad tabEnabled como para un botón de cuatro. el objeto se incluirá en el orden de tabulación automático. tabEnabled (propiedad TextField. three_btn.Si la propiedad tabEnabled es undefined o true. Asegúrese de desactivar los métodos abreviados de teclado cuando compruebe el archivo SWF seleccionando Control > Deshabilitar métodos abreviados de teclado en el entorno de pruebas. un clip de película o una instancia de campo de texto. Aunque se establece tabIndex para three_btn. Véase también tabIndex (propiedad Button. three_btn. Si la propiedad tabIndex también está configurada con un valor.tabIndex = 1. los cuatro botones (one_btn. Si tabEnabled tiene el valor false.tabEnabled). one_btn. two_btn.

Véase también tabEnabled (propiedad Button. tabIndex (propiedad TextField. Todos los objetos del archivo SWF con propiedades tabIndex tendrán su lugar en el orden de tabulación. Asegúrese de desactivar los métodos abreviados de teclado cuando compruebe el archivo SWF seleccionando Control > Deshabilitar métodos abreviados de teclado en el entorno de pruebas. three_btn. one_btn. tabIndex (propiedad MovieClip. y four_btn) se colocan en un orden de tabulación personalizado utilizando tabIndex. Si dos objetos tienen el mismo valor de tabIndex. El orden de tabulación personalizado definido por la propiedad tabIndex es flat (plano o no jerárquico). tabEnabled (propiedad MovieClip. two_btn. Para establecer el orden de tabulación para los cuatro botones. Aunque se establece tabIndex para three_btn. Esto significa que no se tienen en cuenta las relaciones jerárquicas entre los objetos del archivo SWF. four_btn. three_btn.tabIndex = 2. two_btn. el que va en primer lugar no estará definido (undefined). el que precede al otro en el orden de tabulación es undefined.tabIndex = 3.tabIndex = 1.tabEnabled). los cuatro botones (one_btn. Los objetos se ordenan conforme a lo que indiquen las propiedades tabIndex y en orden ascendente. no se incluye three_btn en un orden de tabulación personalizado o automático. Sin embargo.tabIndex = 4. No debe utilizar el mismo valor de tabIndex para varios objetos.tabIndex) 272 Clases de ActionScript . que se determinará por el orden de los valores de tabIndex. ya que tabEnabled se establece como false para esa instancia.tabEnabled).tabEnabled = false. Ejemplo El código ActionScript siguiente se utiliza para establecer la propiedad tabEnabled como para un botón de cuatro. Un objeto que tenga un valor tabIndex de 1 precederá a otro objeto que tenga un valor tabIndex de 2.La propiedad tabIndex puede ser un entero no negativo. Si hay dos objetos con el mismo valor tabIndex.tabChildren).tabIndex). añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: false three_btn. tabChildren (propiedad MovieClip.

Ejemplo Añada una instancia de botón al escenario con el nombre my_btn y añada el código siguiente al fotograma 1 de la línea de tiempo: trace(my_btn. trace(target_btn. //muestra my_btn }.my_btn. Para convertir la notación de barras en notación de puntos. el comportamiento predeterminado es false._target). modifique el ejemplo del código anterior por el siguiente: my_mc. Puede cambiar la propiedad trackAsMenu en cualquier momento. Asigne al clip de película nuevo el nombre de instancia my_mc._target). Elimine el código ActionScript existente en el fotograma 1 de la línea de tiempo y sustitúyalo por: my_mc.my_btn. el botón modificado adoptará de inmediato el nuevo comportamiento. el evento onRelease se registrará para el segundo botón. //muestra /my_btn Seleccione my_btn y conviértalo en un clip de película._target) trackAsMenu (propiedad Button. De este modo.trackAsMenu) public trackAsMenu : Boolean Valor booleano que indica si otros botones o clips de película pueden recibir un evento de liberación del botón del ratón o del lápiz stylus.onRelease = function(){ var target_btn:Button = eval(this.onRelease = function(){ trace(eval(this. //muestra _level0. puede crear menús para el segundo botón.my_btn. Button 273 . Si arrastra el puntero del ratón o un lápiz stylus encima de un botón y lo suelta sobre un segundo botón._target) public _target : String [read-only] Devuelve la ruta de destino de la instancia de botón especificada por my_btn. como: my_mc.onRelease = function(){ trace(this. //muestra /my_mc/my_btn }. Si no ha definido la propiedad trackAsMenu. Puede establecer la propiedad trackAsMenu en cualquier botón u objeto del clip de película._target)._target)).my_btn }._target (propiedad Button. Véase también _target (propiedad MovieClip. Este código permite acceder a métodos y parámetros del objeto de destino._name).my_mc.

_url). }. A continuación. var two_btn:Button. one_btn. Véase también trackAsMenu (propiedad MovieClip.autoSize = true. }. 22).trackAsMenu = true one_btn. one_btn. trace(this.onRelease = function() { trace("clicked one_btn"). Sitúe dos instancias de botón llamadas one_btn y two_btn en el escenario Introduzca el código ActionScript siguiente en la línea de tiempo: var one_btn:Button.0 únicamente si se cumple System.trackAsMenu = true.onRelease = function() { trace("clicked one_btn"). llamadas one_btn y two_btn.capabilities. Ejemplo El ejemplo siguiente demuestra cómo realizar el seguimiento de dos botones como un menú. Ejemplo Cree dos instancias de botón en el escenario. marque como comentario las dos líneas de ActionScript que contienen trackAsMenu y pruebe el archivo SWF otra vez para ver la diferencia en el comportamiento del botón.trackAsMenu) _url (propiedad Button. this. 0. 999.capabilities. }. two_btn. 274 Clases de ActionScript . 0.hasMouse is true o System. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: var one_btn:Button.onRelease = function() { trace("clicked two_btn").createTextField("output_txt".hasStylus is true. haga clic en one_btn en el escenario.Nota: la propiedad trackAsMenu es compatible con Flash Lite 2. output_txt. manteniendo pulsado el botón del ratón y liberándolo sobre two_btn. two_btn. var two_btn:Button. 100. Para comprobar el archivo SWF._url) public _url : String [read-only] Recupera la URL del archivo SWF que creó el botón.

var url_array:Array = this. Cuando hace clic en cada botón._visible = false. _visible (propiedad Button. _visible (propiedad TextField._name).text = unescape(my_str).two_btn.split("/")._url.pop()). output_txt.onRelease = function() { this._visible) Button 275 ._name).onRelease = function() { trace("clicked "+this. trace("clicked "+this. }. Observe que puede seguir haciendo clic en myBtn2_btn después de establecer el alfa en 0._alpha = 0. Los botones no visibles (que tienen la propiedad _visible configurada como false) se desactivan. se mostrará en el panel Salida el nombre del archivo SWF que contiene los botones. }. myBtn2_btn.onRelease = function() { this. trace("clicked "+this. Ejemplo Cree dos botones en el escenario con los nombres de instancia myBtn1_btn y myBtn2_btn. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: myBtn1_btn. var my_str:String = String(url_array. Véase también _visible (propiedad MovieClip._name). }._visible) public _visible : Boolean Valor booleano que indica si el botón especificado por my_btn es visible._visible).

_width) public _width : Number Anchura del botón._width ~= 1. Si un botón se encuentra en la línea de tiempo principal.1. Ejemplo El ejemplo siguiente incrementa la propiedad width de un botón llamado my_btn. Ejemplo El ejemplo siguiente establece las coordenadas de my_btn en 0 en el escenario. Véase también _xscale (propiedad Button. 0). el botón contenido hereda un sistema de coordenadas con un giro de 90 grados en sentido contrario al de las agujas del reloj._width (propiedad Button. y muestra la anchura en el panel Salida. _yscale (propiedad Button._x = 0. Las coordenadas del botón hacen referencia a la posición del punto de registro. Si el botón está dentro de un clip de película que incluye transformaciones._width) _x (propiedad Button. Por consiguiente. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: my_btn._y). _y (propiedad Button. en el caso de un clip de película con un giro de 90 grados en sentido contrario al de las agujas del reloj._y = 0. Véase también _width (propiedad MovieClip. su sistema de coordenadas hará referencia a la esquina superior izquierda del escenario como (0. this._yscale) 276 Clases de ActionScript . el botón estará en el sistema de coordenadas local del clip de película en el que está contenido.onRelease = function () { trace(this. }._x) public _x : Number Entero que establece la coordenada x de un botón como relativa a las coordenadas locales del clip de película principal. expresada en píxeles. my_btn. Cree un botón llamado my_btn e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: my_btn._width)._xscale).

Nota: la propiedad _xmouse es compatible con Flash Lite 2.100]'>".border = true.hasMouse is true Ejemplo El ejemplo siguiente muestra la coordenada x de la posición del ratón para el escenario y un botón llamado my_btn que se sitúa en el escenario. que se definen en píxeles. 150. mouse_txt._xmouse (propiedad Button. la configuración de la propiedad _x desplazará un objeto situado en el botón la mitad de píxeles que si el archivo SWF tuviera una escala del 100%. 40)._xmouse+"\t"+"y:"+my_btn.capabilities._ymouse+newline. table_str += "</textformat>". expresada como porcentaje.selectable = false.createTextField("mouse_txt". 5.html = true. La escala del sistema de coordenadas local afecta a la configuración de las propiedades _x e _y._xmouse) public _xmouse : Number [read-only] Devuelve la coordenada x relativa al botón (si hasMouse es true). 5.capabilities.addListener(mouseListener)._xscale) public _xscale : Number Escala horizontal del botón aplicada desde el punto de registro del botón. System. Por ejemplo. mouse_txt. El punto de registro predeterminado es (0.wordWrap = true.autoSize = true. mouse_txt. table_str += "<b>Stage</b>\t"+"x:"+_xmouse+"\t"+"y:"+_ymouse+newline. Mouse.onMouseMove = function() { var table_str:String = "<textformat tabstops='[50. }. mouse_txt. Button 277 . 999. table_str += "<b>Button</ b>\t"+"x:"+my_btn.htmlText = table_str. Véase también _ymouse (propiedad Button. mouse_txt. mouseListener. // var mouseListener:Object = new Object()._ymouse) _xscale (propiedad Button.0 únicamente si se cumple o System. si se aplica una escala del 50% al clip de película principal. mouse_txt.hasStylus is true.0). Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: this.

el botón estará en el sistema de coordenadas local del clip de película en el que está contenido. el botón contenido hereda un sistema de coordenadas con un giro de 90 grados en sentido contrario al de las agujas del reloj. Véase también _x (propiedad Button._y) public _y : Number Coordenada y del botón relativa a las coordenadas locales del clip de película principal.Ejemplo El ejemplo siguiente escala un botón llamado my_btn.onRelease = function () { this. 0). en el caso de un clip de película con un giro de 90 grados en sentido contrario al de las agujas del reloj. Véase también _x (propiedad Button._y). Si el botón está dentro de otro clip de película que incluye transformaciones._yscale) 278 Clases de ActionScript . Por consiguiente. _y (propiedad Button. Ejemplo El ejemplo siguiente establece las coordenadas de my_btn en 0 en el escenario. crece un 10% en los ejes x e y. _xscale (propiedad Button. Cree un botón llamado my_btn e introduzca el código ActionScript siguiente en el fotograma 1 de la línea de tiempo: my_btn._yscale) _y (propiedad Button._xscale ~= 1. Cuando hace clic y suelta el botón._x = 0. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: my_btn. su sistema de coordenadas hará referencia a la esquina superior izquierda del escenario como (0._yscale ~= 1. Las coordenadas del botón hacen referencia a la posición del punto de registro._x). _yscale (propiedad Button. Si un botón se encuentra en la línea de tiempo principal.1._y = 0. my_btn. _yscale (propiedad Button. }.1._x). this._xscale).

}.hasStylus is true.capabilities.createTextField("mouse_txt". mouse_txt. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: this.wordWrap = true. table_str += "</textformat>". Nota: la propiedad _ymouse es compatible con Flash Lite 2. 150. mouse_txt._xmouse+"\t"+"y:"+my_btn.htmlText = table_str.html = true.capabilities.hasMouse is true Ejemplo El ejemplo siguiente muestra la coordenada x de la posición del ratón para el escenario y un botón llamado my_btn que se sitúa en el escenario. Véase también _xmouse (propiedad Button. mouse_txt. 5. 5. 999. table_str += "<b>Button</ b>\t"+"x:"+my_btn. table_str += "<b>Stage</b>\t"+"x:"+_xmouse+"\t"+"y:"+_ymouse+newline.100]'>".0 únicamente si se cumple o System. mouseListener.autoSize = true. mouse_txt. 40)._xmouse) Button 279 . System.border = true. Mouse._ymouse) public _ymouse : Number [read-only] Devuelve la coordenada y de la posición del ratón relativa al botón.onMouseMove = function() { var table_str:String = "<textformat tabstops='[50. mouse_txt._ymouse+newline.addListener(mouseListener). // var mouseListener:Object = new Object()._ymouse (propiedad Button.selectable = false. mouse_txt.

crece un 10% en los ejes x e y. Cuando hace clic y suelta el botón.1. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: my_btn. expresada como porcentaje. this. 280 Clases de ActionScript . Puede enviar información de prestaciones utilizando el método HTTP GET o POST.onRelease = function () { this.capabilities) Object | +-System. que se ejecuta en un idioma sin determinar. Luego podrá indicar al servidor que envíe archivos SWF diferentes en función de las prestaciones del dispositivo o indicar al archivo SWF que modifique su presentación dependiendo de las prestaciones del dispositivo._x).0).capabilities para determinar el tipo de dispositivo de que dispone un usuario. lo que permite adaptar el contenido a los diferentes formatos. _xscale (propiedad Button. puede utilizar el objeto System._y)._xscale) capabilities (System. Con el fin de ofrecer el contenido adecuado al mayor número posible de usuarios. Ejemplo El ejemplo siguiente escala un botón llamado my_btn. En el siguiente ejemplo se muestra una cadena para un dispositivo móvil: ■ ■ que indica una orientación normal de pantalla. Véase también _y (propiedad Button._yscale (propiedad Button.1.capabilities public class capabilities extends Object La clase Capabilities determina la capacidad del sistema y del reproductor que alojan un archivo SWF. }. El punto de registro predeterminado es (0._yscale ~ 1._yscale) public _yscale : Number Escala vertical del botón aplicada desde el punto de registro del botón. la pantalla de un dispositivo móvil es distinta a la de un equipo. Por ejemplo. _x (propiedad Button._xscale ~= 1.

derecha. Especifica si el sistema tiene prestaciones de audio.■ ■ que se ejecuta en el sistema operativo Symbian7. a la cámara ni al micrófono. da como resultado false. en caso contrario. que está configurado de tal modo que el usuario no puede acceder al disco duro. cámara y al micrófono del usuario ha sido prohibido (true) o autorizado (false) administrativamente. que dispone del reproductor Flash Lite como versión oficial.capabilities) 281 . reproductor Flash Lite ejecuta el código ActionScript asociado a los controladores de eventos de teclas que. Resumen de propiedades Modificadores Propiedad static Descripción de audio compatibles con un dispositivo móvil. undefinedScreenOrientation=normal language=xu OS=Symbian7.0sSeries60V2 localFileReadDisable=true avHardwareDisable=true isDebugger=false hasScreenBroadcast=false hasScreenPlayback=false hasPrinting=false hasEmbeddedVideo=true ■ ■ ■ ■ La mayoría de la propiedades del objeto System.0sSeries60V2. a su vez. en el que el reproductor Flash Lite se ejecuta en un dispositivo móvil que admite vídeo incorporado. que no admite la impresión en el dispositivo. arriba y abajo. para el que el reproductor Flash Lite no admite el desarrollo ni la reproducción de aplicaciones de difusión de pantallas para su ejecución a través de Flash Media Server. están asociados a las teclas izquierda. reproductor se está ejecutando en un entorno que admite la comunicación entre Flash Player y las ayudas de accesibilidad. audioMIMETypes:Array Devuelve una matriz de tipos MIME para códecs [read-only] static olean [read-only] avHardwareDisable:Bo Valor booleano que especifica si el acceso a la static has4WayKeyAS:Boolean Valor booleano que devuelve true si el [read-only] static hasAccessibility:Boo Valor booleano que da como resultado true si el lean [read-only] static hasAudio:Boolean [read-only] capabilities (System.capabilities son de sólo lectura.

Especifica si el dispositivo móvil dispone de un only] static hasPrinting:Boolean [read-only] 282 Clases de ActionScript . cargar dinámicamente datos adicionales mediante llamadas a funciones específicas.Devuelve true si el dispositivo mócil puede only] static hasMIDI:Boolean [read-only] static hasMMS:Boolean [read. mensajes MMS con el comando GetURL de ActionScript. hasAudioEncoder:Bool Especifica si Flash Player puede codificar un flujo [read-only] static hasCompoundSound:Boo Devuelve true si el reproductor Flash Lite puede lean [read-only] static hasDataLoading:Boole Devuelve true si el reproductor Flash Lite puede an [read-only] static hasEmail:Boolean [read-only] static hasEmbeddedVideo:Boo Un valor booleano que indica si el dispositivo móvil lean [read-only] static hasMappableSoftKeys: Devuelve true si el dispositivo móvil permite Boolean static hasMFI:Boolean [read.Modificadores Propiedad static ean [read-only] static hasCMIDI:Boolean Descripción de audio. da como resultado false. en caso contrario. Indica si el dispositivo móvil envía eventos relacionados con el ratón a un reproductor Flash Lite. Devuelve true si el reproductor Flash Lite puede enviar mensajes de correo electrónico con el comando GetURL de ActionScript.Devuelve true si el dispositivo móvil puede enviar only] static hasMouse:Boolean [read-only] static hasMP3:Boolean [read. procesar datos de sonido compuestos. reproducir datos de sonido en formato de audio MFI. restablecer o reasignar etiquetas de teclas programables o controlar eventos a partir de dichas teclas. Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio CMIDI. Valor booleano que da como resultado true si el reproductor se está ejecutando en un dispositivo móvil que admite impresión. descodificador de MP3. Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio MIDI. admite o no vídeo incorporado.

da como resultado false. de vídeo.Modificadores Propiedad static olean [read-only] Descripción procesar código ActionScript asociado a todas las teclas de un teclado occidental estándar (QWERTY). reproduce en una aplicación puede acceder a la versión Flash Lite de los objetos compartidos. incluida la tecla RETROCESO. en caso contrario. da como resultado false. en caso contrario. hasQWERTYKeyboard:Bo Devuelve true si el reproductor Flash Lite puede static hasScreenBroadcast:B Valor booleano que da como resultado true si el oolean [read-only] static hasScreenPlayback:Bo Valor booleano que da como resultado true si el olean [read-only] static hasSharedObjects:Boo Devuelve true si el contenido Flash Lite que se lean [read-only] static hasSMAF:Boolean [read-only] hasSMS:Number [read- static only] static hasStreamingAudio:Bo Valor booleano que da como resultado true si el olean [read-only] static hasStreamingVideo:Bo Valor booleano que indica si el reproductor es olean [read-only] static hasStylus:Boolean [read-only] static ean [read-only] static hasXMLSocket:Number hasVideoEncoder:Bool Especifica si Flash Player puede codificar un flujo [read-only] capabilities (System.capabilities) 283 . Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio SMAF. reproductor es capaz de reproducir audio sin interrupción. Indica si la aplicación host admite sockets XML. reproductor admite la reproducción de aplicaciones de difusión de pantallas que se están ejecutando a través de Flash Media Server. da como resultado false. capaz de reproducir vídeo sin interrupción. Indica si el dispositivo móvil puede enviar mensajes SMS con el comando GetURL de ActionScript. en caso contrario. reproductor admite el desarrollo de aplicaciones de difusión de pantallas para su ejecución a través de Flash Media Server. Indica si el dispositivo móvil admite eventos relacionados con el lápiz stylus.

Valor booleano que especifica si el reproductor es de una versión lanzada oficialmente (false) o una versión especial de depuración (true).__resolve) 284 Clases de ActionScript . disco duro del usuario ha sido prohibido (true) o autorizado (false) administrativamente. de la pantalla.Cadena que contiene la información de plataforma only] static videoMIMETypes:Array Indica todos los tipos MIME para vídeo [read-only] Propiedades heredadas de la clase Object constructor (propiedad Object.__proto__).prototype). la pantalla.Modificadores Propiedad static Descripción MIME con los que la función loadMovie y los códecs del dispositivo móvil son compatibles para poder procesar imágenes. screenOrientation:St Esta variable de miembro del objeto ring [read-only] System. y versión de Flash Player (por ejemplo.capabilities indica la orientación actual de la pantalla. imageMIMETypes:Array Devuelve una matriz que contiene todos los tipos [read-only] static isDebugger:Boolean [read-only] static language:String [read-only] static :Boolean [read-only] localFileReadDisable Valor booleano que indica si el acceso de lectura al static MIMETypes:Array [read-only] static static os:String [read-only] Cadena que indica el sistema operativo actual. compatibles con los códecs del dispositivo móvil. Devuelve una matriz que contiene todos los tipos MIME compatibles con la función loadMovie y los objetos Sound y Video.1.0.constructor). __proto__ (propiedad Object. Indica el idioma del sistema en el que se está ejecutando el reproductor. __resolve (propiedad Object. prototype (propiedad Object. Indica el número de teclas programables reasignables compatibles con el dispositivo móvil.0"). "WIN 7. static screenResolutionX:Nu Entero que indica la resolución horizontal máxima mber [read-only] static screenResolutionY:Nu Entero que indica la resolución vertical máxima de mber [read-only] static softKeyCount:Number [read-only] static version:String [read.

Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. toString (método Object. isPrototypeOf (método Object.valueOf). unwatch (método Object. isPropertyEnumerable (método Object. el valor devuelto es siempre true. valueOf (método Object.isPropertyEnumerable).0.hasOwnProperty).audioMIMETypes). registerClass (método Object.unwatch).avHardwareDisable) public static avHardwareDisable : Boolean [read-only] Valor booleano que especifica si el acceso a la cámara y al micrófono del usuario ha sido prohibido (true) o autorizado (false) administrativamente.Resumen de métodos Métodos heredados de la clase Object addProperty (método Object.capabilities.toString). La cadena de servidor es AVD. capabilities (System.addProperty).isPrototypeOf).capabilities) 285 .audioMIMETypes) public static audioMIMETypes : Array [read-only] Devuelve una matriz de tipos MIME para códecs de audio compatibles con un dispositivo móvil. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. hasOwnProperty (método Object.watch) audioMIMETypes (propiedad capabilities. watch (método Object.capabilities. avHardwareDisable (propiedad capabilities. Nota: en Flash Lite 2.registerClass).avHardwareDisable).

has4WayKeyAS) public static has4WayKeyAS : Boolean [read-only] Valor booleano que devuelve true si el reproductor Flash Lite ejecuta el código ActionScript asociado a los controladores de eventos de teclas que. la presencia de un controlador de pulsación de teclas para una tecla hacia abajo desactiva la posibilidad de desplazarse hacia abajo. en caso contrario. En caso contrario. Si no encuentra ninguno. En otras palabras.capabilities.hasAudio) public static hasAudio : Boolean [read-only] Especifica si el sistema tiene prestaciones de audio. 286 Clases de ActionScript . están asociados a las teclas izquierda. el valor devuelto es siempre false. Si el valor de esta variable es true. esta propiedad devuelve false. a su vez. derecha. el reproductor primer busca un controlador para dicha tecla. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. no se activa ninguna acción de navegación para dicha tecla. Flash controla el desplazamiento.hasAccessibility) public static hasAccessibility : Boolean [read-only] Valor booleano que da como resultado true si el reproductor se está ejecutando en un entorno que admite la comunicación entre Flash Player y las ayudas de accesibilidad. hasAudio (propiedad capabilities.capabilities. al presionar una de las teclas de cuatro direcciones. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. arriba y abajo. La cadena de servidor es ACC. da como resultado false. si se encuentra un controlador de eventos. Valor booleano que da como resultado true si el reproductor se está ejecutando en un sistema con prestaciones de audio. La cadena de servidor es A.hasAccessibility).has4WayKeyAS). en caso contrario.has4WayKeyAS (propiedad capabilities. Sin embargo. Nota: en Flash Lite 2.0. hasAccessibility (propiedad capabilities. da como resultado false.

capabilities. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. el valor devuelto es siempre false.capabilities) 287 . Nota: en Flash Lite 2.hasCMIDI).0. hasCMIDI (propiedad capabilities. esta propiedad devuelve false.capabilities. el procedente de un micrófono. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. como. en caso contrario. De lo contrario. De lo contrario. La cadena de servidor es AE. hasAudioEncoder (propiedad capabilities.hasAudioEncoder). hasCompoundSound (propiedad capabilities. devuelve false.hasAudio). da como resultado false.Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. capabilities (System.hasCompoundSound) public static hasCompoundSound : Boolean [read-only] Devuelve true si el reproductor Flash Lite puede procesar datos de sonido compuestos.capabilities. Valor booleano que da como resultado true si el reproductor permite codificar un flujo de audio. por ejemplo.hasCMIDI) public static hasCMIDI : Boolean [read-only] Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio CMIDI.hasAudioEncoder) public static hasAudioEncoder : Boolean [read-only] Especifica si Flash Player puede codificar un flujo de audio.

hasDataLoading (propiedad capabilities. En caso contrario. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.load() LoadVars.parseXML() Sound.hasEmail) public static hasEmail : Boolean [read-only] Devuelve true si el reproductor Flash Lite puede enviar mensajes de correo electrónico con el comando GetURL de ActionScript.capabilities.capabilities.hasDataLoading) public static hasDataLoading : Boolean [read-only] Devuelve true si el reproductor Flash Lite puede cargar dinámicamente datos adicionales mediante llamadas a funciones específicas.loadVariables() MovieClip. 288 Clases de ActionScript .sendAndLoad() En caso contrario. Puede llamar a las siguientes funciones específicas: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ loadMovie() loadMovieNum() loadVariables() loadVariablesNum() XML.Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.loadMovie() MovieClipLoader. esta propiedad devuelve false. esta propiedad devuelve false.loadSound() MovieClip.hasDataLoading). hasEmail (propiedad capabilities.hasCompoundSound).loadClip() LoadVars.

hasMFI).hasMappableSoftKeys).hasMappableSoftKeys) public static hasMappableSoftKeys : Boolean Devuelve true si el dispositivo móvil permite restablecer o reasignar etiquetas de teclas programables o controlar eventos a partir de dichas teclas. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.capabilities.capabilities) 289 . capabilities (System. hasMFI (propiedad capabilities. esta propiedad devuelve false. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. En caso contrario.hasEmbeddedVideo). Nota:la propiedad hasEmbeddedVideo siempre es true en Flash Lite 2. De lo contrario. hasEmbeddedVideo (propiedad capabilities.capabilities. indicando la compatibilidad de la biblioteca con el vídeo de dispositivo.Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.1.capabilities.hasEmail). hasMappableSoftKeys (propiedad capabilities.0 y Flash Lite 2.capabilities.hasMFI) public static hasMFI : Boolean [read-only] Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio MFI. devuelve false.hasEmbeddedVideo) public static hasEmbeddedVideo : Boolean [read-only] Un valor booleano que indica si el dispositivo móvil admite o no vídeo incorporado.

En caso contrario.hasMouse) public static hasMouse : Boolean [read-only] Indica si el dispositivo móvil envía eventos relacionados con el ratón a un reproductor Flash Lite.hasMIDI). esta propiedad devuelve false. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. 290 Clases de ActionScript . hasMMS (propiedad capabilities. De lo contrario. hasMouse (propiedad capabilities.hasMMS).capabilities.hasMouse).hasMMS) public static hasMMS : Boolean [read-only] Devuelve true si el dispositivo móvil puede enviar mensajes MMS con el comando GetURL de ActionScript. Esta propiedad devuelve true si el dispositivo móvil envía eventos relacionados con el ratón a un reproductor Flash Lite. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. En caso contrario.hasMIDI (propiedad capabilities.hasMIDI) public static hasMIDI : Boolean [read-only] Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio MIDI.capabilities.capabilities. esta propiedad devuelve false. devuelve false. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.

0.capabilities. Nota: en Flash Lite 2.hasMP3) public static hasMP3 : Boolean [read-only] Especifica si el dispositivo móvil dispone de un descodificador de MP3. hasQWERTYKeyboard (propiedad capabilities. Valor booleano que da como resultado true si el reproductor se está ejecutando en un sistema con descodificador MP3. el resultado es false. en caso contrario. La cadena de servidor es PR. en caso contrario.hasQWERTYKeyboard).capabilities) 291 .capabilities. hasPrinting (propiedad capabilities. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. esta propiedad devuelve false.hasQWERTYKeyboard) public static hasQWERTYKeyboard : Boolean [read-only] Devuelve true si el reproductor Flash Lite puede procesar código ActionScript asociado a todas las teclas de un teclado occidental estándar (QWERTY). incluida la tecla RETROCESO.hasPrinting) public static hasPrinting : Boolean [read-only] Valor booleano que da como resultado true si el reproductor se está ejecutando en un dispositivo móvil que admite impresión.hasMP3).capabilities.hasPrinting). En caso contrario. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. el valor devuelto es siempre false. capabilities (System. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. La cadena de servidor es MP3. da como resultado false.hasMP3 (propiedad capabilities.

0. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. esta propiedad devuelve false.hasScreenBroadcast) public static hasScreenBroadcast : Boolean [read-only] Valor booleano que da como resultado true si el reproductor admite el desarrollo de aplicaciones de difusión de pantallas para su ejecución a través de Flash Media Server. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. En caso contrario.hasScreenPlayback). La cadena de servidor es SP. en caso contrario.capabilities. en caso contrario. el valor devuelto es siempre false. el valor devuelto es siempre false. Nota: en Flash Lite 2.hasScreenBroadcast).hasSharedObjects). hasScreenPlayback (propiedad capabilities.hasScreenPlayback) public static hasScreenPlayback : Boolean [read-only] Valor booleano que da como resultado true si el reproductor admite la reproducción de aplicaciones de difusión de pantallas que se están ejecutando a través de Flash Media Server. da como resultado false.hasScreenBroadcast (propiedad capabilities.capabilities. Nota: en Flash Lite 2. da como resultado false.hasSharedObjects) public static hasSharedObjects : Boolean [read-only] Devuelve true si el contenido Flash Lite que se reproduce en una aplicación puede acceder a la versión Flash Lite de los objetos compartidos.capabilities. La cadena de servidor es SB. 292 Clases de ActionScript . Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.0. hasSharedObjects (propiedad capabilities.

hasStreamingAudio).capabilities. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. hasStreamingAudio (propiedad capabilities. la variable es undefined.capabilities. da como resultado false. La cadena de servidor es SA.hasSMS).hasStreamingAudio) public static hasStreamingAudio : Boolean [read-only] Valor booleano que da como resultado true si el reproductor es capaz de reproducir audio sin interrupción.hasSMS) public static hasSMS : Number [read-only] Indica si el dispositivo móvil puede enviar mensajes SMS con el comando GetURL de ActionScript. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.hasSMAF (propiedad capabilities. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. De lo contrario. esta variable es defined y tiene el valor 1.hasSMAF) public static hasSMAF : Boolean [read-only] Devuelve true si el dispositivo mócil puede reproducir datos de sonido en formato de audio SMAF. Si Flash Lite puede enviar mensajes SMS. En caso contrario. capabilities (System. esta propiedad devuelve false.capabilities. en caso contrario.capabilities) 293 .hasSMAF). hasSMS (propiedad capabilities.

Este indicador permite que el contenido de Flash compruebe si la plataforma para un dispositivo móvil es compatible con este evento. Nota:la propiedad hasStreamingVideo siempre es false en Flash Lite 2. en caso contrario.0 y Flash Lite 2. En caso contrario.1. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. esta propiedad devuelve false. indicando que los archivos FLV de flujo no son compatibles. hasVideoEncoder (propiedad capabilities.hasStylus). el procedente de una cámara. Valor booleano que da como resultado true si el reproductor permite codificar un flujo de vídeo. por ejemplo. el resultado es false.0. el valor devuelto es siempre false.hasVideoEncoder) public static hasVideoEncoder : Boolean [read-only] Especifica si Flash Player puede codificar un flujo de vídeo. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.capabilities.hasStreamingVideo). Esta propiedad devuelve true si la plataforma del dispositivo móvil no es compatible con eventos relacionados con el lápiz stylus. hasStylus (propiedad capabilities. Nota: en Flash Lite 2.hasStreamingVideo) public static hasStreamingVideo : Boolean [read-only] Valor booleano que indica si el reproductor es capaz de reproducir vídeo sin interrupción. La cadena de servidor es VE. 294 Clases de ActionScript . como.hasStreamingVideo (propiedad capabilities.capabilities. El lápiz stylus no es compatible con el evento onMouseMove.hasStylus) public static hasStylus : Boolean [read-only] Indica si el dispositivo móvil admite eventos relacionados con el lápiz stylus.

hasXMLSocket (propiedad capabilities.hasXMLSocket) public static hasXMLSocket : Number [read-only] Indica si la aplicación host admite sockets XML.isDebugger) public static isDebugger : Boolean [read-only] Valor booleano que especifica si el reproductor es de una versión lanzada oficialmente (false) o una versión especial de depuración (true).capabilities.hasVideoEncoder).Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.isDebugger). Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. capabilities (System.capabilities) 295 .imageMIMETypes) public static imageMIMETypes : Array [read-only] Devuelve una matriz que contiene todos los tipos MIME con los que la función loadMovie y los códecs del dispositivo móvil son compatibles para poder procesar imágenes. Si la aplicación host admite sockets XML.capabilities. esta variable es defined y tiene el valor 1. De lo contrario. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. Nota: en Flash Lite 2. el valor devuelto es siempre false.capabilities.imageMIMETypes). imageMIMETypes (propiedad capabilities. la variable es undefined. isDebugger (propiedad capabilities. La cadena de servidor es DEB.0.

esta propiedad devuelve ahora el idioma de la interfaz de usuario.capabilities. que hace referencia al idioma empleado en todos los menús. En segundo lugar. En primer lugar. divisa y números grandes. mensajes de error y archivos de ayuda. el código de idioma de los sistemas en inglés ya no incluye el código de idioma.language (propiedad capabilities. cuadros de diálogo. Por ejemplo. los sistemas en inglés sólo devuelven el código de idioma (en). En Flash Player 7 ejecutado en la plataforma Microsoft Windows. En el caso del idioma chino.language devolvía la localización de idioma/país del usuario. Esta propiedad se especifica como un código de idioma de dos letras en minúsculas de ISO 639-1. horas. fr especifica francés. todos los sistemas en inglés devolvían el código de idioma y la subetiqueta de código de país de dos letras (en-US). esta propiedad ahora devuelve el idioma de la interfaz de usuario. Esta propiedad cambió de dos formas en Flash Player 7. System. que controla la configuración de formato para fechas. En Flash Player 7. En Flash Player 6 ejecutado en la plataforma Microsoft Windows. en sistemas Microsoft Windows.language) public static language : String [read-only] Indica el idioma del sistema en el que se está ejecutando el reproductor. una subetiqueta adicional de código de dos letras de país de ISO 3166 permite distinguir si se trata de chino simplificado o chino tradicional. Los idiomas en sí se denominan por sus etiquetas en inglés. Idioma Checo Danés Holandés Inglés Finlandés Francés Alemán Húngaro Italiano Japonés Coreano Noruego Otro/desconocido Polaco Etiqueta cs da nl en fi fr de hu it ja ko no xu pl 296 Clases de ActionScript . En Flash Player 6.

los intentos de lectura de un archivo del disco duro del usuario mediante XML.language). Flash Player no podrá leer archivos (incluido el primer archivo SWF con el que se inicia Flash Player) del disco duro del usuario. Nota: en Flash Lite 2.capabilities) 297 .load() fallarán si esta propiedad se establece como true..Idioma Portugués Ruso Chino simplificado Español Sueco Chino tradicional Turco Etiqueta pt ru zh-CN es sv zh-TW tr Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.localFileReadDisable). Si es true. localFileReadDisable (propiedad capabilities. aunque se autorizará la lectura de objetos compartidos locales con independencia de cuál sea el valor de esta propiedad.0. La lectura de bibliotecas compartidas en tiempo de ejecución también se bloqueará si esta propiedad se establece como true. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. La cadena de servidor es LFD. LoadMovie() o LoadVars. Por ejemplo.capabilities.capabilities.load(). capabilities (System. el valor devuelto es siempre true.localFileReadDisable) public static localFileReadDisable : Boolean [read-only] Valor booleano que indica si el acceso de lectura al disco duro del usuario ha sido prohibido (true) o autorizado (false) administrativamente.

capabilities. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.screenOrientation) public static screenOrientation : String [read-only] Esta variable de miembro del objeto System.capabilities.os) public static os : String [read-only] Cadena que indica el sistema operativo actual. "Windows 98/ME". screenOrientation (propiedad capabilities.MIMETypes (propiedad capabilities. "Linux" y "MacOS".screenOrientation). os (propiedad capabilities. "Windows 2000". "Windows NT". La cadena de servidor es OS.capabilities indica la orientación actual de la pantalla.MIMETypes). Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. 298 Clases de ActionScript .capabilities.os). "Windows 95". no en la versión de escritorio). "Windows CE" (sólo disponible en Flash Player SDK. Posibles valores para la propiedad screenOrientation: ■ ■ ■ ■ normal: la pantalla tiene orientación normal la pantalla se gira 90 grados la pantalla se gira 180 grados la pantalla se gira 270 grados rotated90: rotated180: rotated270: Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.MIMETypes) public static MIMETypes : Array [read-only] Devuelve una matriz que contiene todos los tipos MIME compatibles con la función loadMovie y los objetos Sound y Video. La propiedad os puede devolver las siguientes cadenas: "Windows XP".

1.capabilities. La cadena de servidor es R (que devuelve la anchura y la altura de la pantalla).version) public static version : String [read-only] Cadena que contiene la información de plataforma y versión de Flash Player (por ejemplo.0").screenResolutionY) public static screenResolutionY : Number [read-only] Entero que indica la resolución vertical máxima de la pantalla. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. screenResolutionY (propiedad capabilities.softKeyCount) public static softKeyCount : Number [read-only] Indica el número de teclas programables reasignables compatibles con el dispositivo móvil.capabilities) 299 . capabilities (System. softKeyCount (propiedad capabilities.screenResolutionY). Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. "WIN 7.screenResolutionX (propiedad capabilities.screenResolutionX) public static screenResolutionX : Number [read-only] Entero que indica la resolución horizontal máxima de la pantalla. La cadena de servidor es R (que devuelve la anchura y la altura de la pantalla). version (propiedad capabilities.0. La cadena de servidor es V. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.softKeyCount).capabilities.screenResolutionX).capabilities.

prototype).constructor). Esta propiedad devuelve una matriz con todos los tipos MIME para vídeo compatibles con los códecs del dispositivo móvil. Resumen de propiedades Propiedades heredadas de la clase Object constructor (propiedad Object.__proto__).videoMIMETypes). __proto__ (propiedad Object. videoMIMETypes (propiedad capabilities.Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System.capabilities. prototype (propiedad Object. Debe utilizar el constructor new Color() para crear un objeto Color antes de llamar a sus métodos.videoMIMETypes) public static videoMIMETypes : Array [read-only] Indica todos los tipos MIME para vídeo compatibles con los códecs del dispositivo móvil. Ejemplo El ejemplo siguiente realiza un seguimiento del valor de esta propiedad de sólo lectura: trace(System. Color Object | +-Color public class Color extends Object La clase Color le permite establecer el valor de color RGB y la transformación de color de clips de película y recuperar dichos valores una vez que se hayan establecido.__resolve) 300 Clases de ActionScript . __resolve (propiedad Object.capabilities.version).

Especifica un color RGB para un objeto Color. valueOf (método Object.addProperty). getTransform() : Object setRGB(offset:Numb er) : Void setTransform(trans formObject:Object) : Void Métodos heredados de la clase Object addProperty (método Object.setTransform(). isPrototypeOf (método Object.hasOwnProperty). toString (método Object.Nombre de instancia de un clip de película.toString). watch (método Object. Parámetros target:Object .watch) Constructor Color() public Color(target:Object) Crea un objeto Color para el clip de película especificado por el parámetro target_mc. Posteriormente podrá utilizar los métodos de dicho objeto Color para cambiar el color de todo el clip de película de destino.Resumen de constructores Firma Color(target:Object) Descripción Crea un objeto Color para el clip de película especificado por el parámetro target_mc. hasOwnProperty (método Object. unwatch (método Object. Devuelve el valor de transformación establecido por la última llamada a Color.isPrototypeOf).isPropertyEnumerable). registerClass (método Object.unwatch). Color 301 . Resumen de métodos Modificadores Firma getRGB() : Number Descripción Devuelve la combinación R+G+B utilizada por el objeto de color.valueOf).registerClass). Establece la información de transformación para un objeto Color. isPropertyEnumerable (método Object.

setRGB) getTransform (método Color. // establece el color my_color.Objeto cuyas propiedades contienen los valores actuales de desplazamiento y porcentaje para el color especificado.setTransform().Ejemplo El ejemplo siguiente crea un objeto Color llamado my_color para el clip de película my_mc y establece su valor RGB en naranja: var my_color:Color = new Color(my_mc). Valor devuelto .getRGB().setRGB(0xff9933). Ejemplo El código siguiente recupera el valor RGB para el objeto my_color. Valor devuelto Number .toString(16).setRGB(0xff9933). // rastrea el valor del color trace(myValue). añada una instancia de clip de película al escenario y asígnele el nombre de instancia my_mc: var my_color:Color = new Color(my_mc). getRGB (método Color. // rastrea ff9933 Véase también setRGB (método Color.Número que representa al valor de número RGB para el color especificado. Para ver cómo funciona este código.getTransform) public getTransform() : Object Devuelve el valor de transformación establecido por la última llamada a Color. Object 302 Clases de ActionScript . my_color. convierte el valor en una cadena hexadecimal y la asigna a la variable myValue.getRGB) public getRGB() : Number Devuelve la combinación R+G+B utilizada por el objeto de color. var myValue:String = my_color.

setRGB) public setRGB(offset:Number) : Void Especifica un color RGB para un objeto Color. La llamada a este método provoca la sustitución de toda la configuración anterior de Color. consulte Color. // my_mc pasa a rojo Véase también setTransform (método Color. aa: 30}. A continuación. sitúe el código siguiente en el fotograma 1 de la línea de tiempo principal y seleccione Control > Probar película: var my_color:Color = new Color(my_mc). Para ver cómo funciona este código.getTransform(). offset:Number Ejemplo Este ejemplo establece el valor de color RGB del clip de película my_mc. ba: 50. GG y BB constan cada uno de dos dígitos hexadecimales que especifican el desplazamiento de cada componente de color. sitúe el código siguiente en el fotograma 1 de la línea de tiempo principal y seleccione Control > Probar película: var my_color:Color = new Color(my_mc).setTransform(myTransform).setRGB(0xFF0000).setTransform) setRGB (método Color. Parámetros . my_color.Ejemplo El ejemplo siguiente obtiene el objeto de transformación y. myTransform = { ra: 50. sitúe un clip de película multicolor en el escenario con el nombre de instancia my_mc. sitúe un clip de película en el escenario con el nombre de instancia my_mc. A continuación. El 0x indica al compilador de ActionScript que el número es un valor hexadecimal. Para obtener descripciones de los parámetros de un objeto de transformación de color. establece nuevos porcentajes para colores y alfa de my_mc en relación con sus valores actuales. Véase también setTransform (método Color.setTransform(). var myTransform:Object = my_color.0xRRGGBB Color RGB o hexadecimal que desea establecer.setTransform) Color 303 . a continuación. my_color. RR.setTransform(). Para ver cómo funciona esta código.

bb: 90. myColorTransform. es el porcentaje de alfa (de -100 a 100).bb = 90. Incluye parámetros que especifican los valores de porcentaje y desplazamiento para los componentes rojo. ab: 70} 304 Clases de ActionScript . es el porcentaje del componente rojo (de -100 a 100). El parámetro colorTransformObject es un objeto genérico que usted crea desde el constructor new Object. myColorTransform. myColorTransform. introducidos en el formato 0xRRGGBBAA. Un parámetro colorTransformObject se crea de la siguiente forma: var myColorTransform:Object = new Object(). myColorTransform. es el desplazamiento del componente rojo (de -255 a 255). es el porcentaje del componente rojo (de -100 a 100).rb = 244. es el desplazamiento de alfa (de -255 a 255). myColorTransform.ra = 50. ba: 12.ab = 70.setTransform) public setTransform(transformObject:Object) : Void Establece la información de transformación para un objeto Color.ga = 40. Los parámetros de un objeto de transformación de color corresponden a la configuración del cuadro de diálogo Efecto avanzado y se definen de la siguiente forma: ■ ■ ■ ■ ■ ■ ■ ■ ra rb ga gb ba bb aa ab es el porcentaje del componente rojo (de -100 a 100). aa: 40. azul y alfa (transparencia) de un color. myColorTransform. rb: 244. También puede utilizar la siguiente sintaxis para crear un parámetro colorTransformObject: var myColorTransform:Object = { ra: 50.setTransform (método Color. es el desplazamiento del componente rojo (de -255 a 255).ba = 12. gb: 112. verde.gb = 112.aa = 40. ga: 40. myColorTransform. es el desplazamiento del componente rojo (de -255 a 255). myColorTransform.

gb. rb: 244. ga: 40. ba: 12.bb.ga.ba.aa. gb: 112.setTransform(myColorTransform). es un método estático. bb: 90. ahora conocida como hora universal o UTC) o al sistema operativo en el que se ejecuta Flash Player. Ejemplo Este ejemplo crea un objeto Color para un archivo SWF de destino.Parámetros transformObject:Object . ab: 70}. // Crea un objeto de transformación Color llamado myColorTransform utilizando // Establece los valores para myColorTransform var myColorTransform:Object = { ra: 50. Véase también Object Date Object | +-Date public class Date extends Object La clase Date permite recuperar los valores de fecha y hora relativos a la hora universal (hora de Greenwich.Un objeto creado con el constructor new Object. como en el código siguiente: // Crea un objeto Color llamado my_color para el my_mc de destino var my_color:Color = new Color(my_mc). A continuación se explican estas propiedades. Esta instancia de la clase Object debe tener las siguientes propiedades que especifican valores de transformación de color: ra. Para utilizar este código en un documento de Flash (FLA).ab. // Asocia el objeto de transformación de color al objeto Color // creado para my_mc my_color.UTC() es una excepción. pero afectan solamente al objeto Date concreto especificado al llamar al método. Date 305 . aa: 40. Los métodos de la clase Date no son estáticos. sitúelo en el fotograma 1 de la línea de tiempo principal y sitúe un clip de película en el escenario con el nombre de instancia my_mc. El método Date. crea un objeto genérico llamado myColorTransform con las propiedades definidas anteriormente y utiliza el método setTransform() para pasar colorTransformObject a un objeto Color.rb.

Mac OS 9: el sistema operativo sólo proporciona información suficiente para determinar si debe aplicarse el cambio de hora a la fecha y la hora actuales. Para llamar a los métodos de la clase Date. lo que lleva a transiciones incorrectas en Europa y otras zonas que emplean el cambio de hora pero con transiciones diferentes a las de EE. primero debe crear un objeto Date utilizando el constructor para la clase Date.constructor). por lo que el horario de verano podría calcularse erróneamente en el caso de fechas pasadas si en la ubicación en cuestión las fechas de transición eran diferentes.__proto__).La clase Date controla el horario de verano de forma distinta en función del sistema operativo y la versión de Flash Player. __proto__ (propiedad Object. descrito posteriormente en esta sección. ■ ■ Flash Player 5 controla el cambio de hora en los siguientes sistemas operativos como se indica a continuación: ■ Windows: se aplican siempre las normas estadounidenses de cambio de hora. Flash detecta correctamente si se utiliza el cambio de hora en la ubicación actual.__resolve) 306 Clases de ActionScript . El objeto Date detecta si se emplea el horario de verano en la ubicación actual y. UU.prototype). prototype (propiedad Object. las fechas de transición en vigor actualmente se aplican a fechas pasadas y futuras. si es así. La base de datos de información de zona horaria de Mac OS X se utiliza para determinar si debe aplicarse el cambio de hora a alguna fecha u hora actual o pasada. Flash Player 6 y posteriores controlan el horario de verano en los siguientes sistemas operativos de estas formas: ■ Windows: el objeto Date ajusta automáticamente su salida para el horario de verano. el objeto de fecha da por hecho que el cambio de hora actual afecta tanto a fechas y horas futuras como pasadas. Por consiguiente. Resumen de propiedades Propiedades heredadas de la clase Object constructor (propiedad Object. Mac OS X: el objeto Date ajusta automáticamente su salida para el horario de verano. __resolve (propiedad Object. detecta la fecha y la hora en la que se produce el cambio del horario estándar al horario de verano. No obstante.

Devuelve el año completo (un número de cuatro dígitos. Date([yearOrTimeval Construye un objeto new Date que contiene la fecha y la hora Resumen de métodos Modificadores Firma getDate() : Number Descripción Devuelve el día del mes (un entero del 1 al 31) del objeto Date especificado de acuerdo con la hora local. actual. Devuelve el día de la semana (0 para domingo. del objeto Date especificado de acuerdo con la hora local. 1 para lunes. [minute:Number]. etc. en formato largo. [hour:Number]. por ejemplo. Date especificado de acuerdo con la hora local. Devuelve una cadena que representa la hora actual con formato según la configuración local definida. con formato según la configuración local definida. [millisecond:Number ]) Descripción especificadas. getDay() : Number getFullYear() : Number getHours() : Number Devuelve la hora (un entero del 0 al 23) del objeto getLocaleLongDate() Devuelve una cadena que representa la fecha : String actual. [second:Number]. 2000) del objeto Date especificado de acuerdo con la hora local. [date:Number]. como.) del objeto Date especificado de acuerdo con la hora local. [month:Number]. con formato según la configuración local definida. en formato corto. Devuelve los minutos (un entero del 0 al 59) del objeto Date especificado de acuerdo con la hora local. getLocaleShortDate( Devuelve una cadena que representa la fecha ) : String getLocaleTime() : String getMilliseconds() : Devuelve los milisegundos (un entero del 0 al 999) Number getMinutes() : Number Date 307 .Resumen de constructores Firma ue:Number].

Devuelve el número de milisegundos desde la media noche del 1 de enero de 1970. Devuelve la hora (un entero del 0 al 23) del objeto Date especificado de acuerdo con la hora universal.) getSeconds() : Number Devuelve los segundos (un entero del 0 al 59) del objeto Date especificado de acuerdo con la hora local. para el objeto Date especificado. 1 para febrero. en minutos. hora universal. entre la hora : Number getUTCDate() : Number getUTCDay() : Number getUTCFullYear() : Number getUTCHours() : Number getUTCMilliseconds( Devuelve los milisegundos (un entero del 0 al 999) ) : Number getUTCMinutes() : Number getUTCMonth() : Number getUTCSeconds() : Number getUTCYear() : Number 308 Clases de ActionScript . Devuelve el año de este objeto Date según la hora universal (UTC). Devuelve los cuatro dígitos del año del objeto Date especificado de acuerdo con la hora universal. getMonth() : Number Devuelve el mes (0 para enero. 1 para lunes.Modificadores Firma Descripción del objeto Date especificado de acuerdo con la hora local. Devuelve el día del mes (un entero del 1 al 31) del objeto Date especificado de acuerdo con la hora universal. getTime() : Number getTimezoneOffset() Devuelve la diferencia. Devuelve los minutos (un entero del 0 al 59) del objeto Date especificado.) del objeto Date especificado de acuerdo con la hora universal. Devuelve el mes (de 0 [enero] a 11 [diciembre]) del objeto Date especificado de acuerdo con la hora universal. Devuelve los segundos (un entero del 0 al 59) del objeto Date especificado de acuerdo con la hora universal. Devuelve el día de la semana (0 para domingo. etc. de acuerdo con la hora universal. etc. local del equipo y la hora universal. del objeto Date especificado de acuerdo con la hora universal.

especificado en la hora local y devuelve la nueva hora en milisegundos. [month:Number]. setMilliseconds(mil Establece los milisegundos del objeto Date lisecond:Number) : Number setMinutes(minute:N Establece los minutos del objeto Date especificado umber) : Number setMonth(month:Numb Establece el mes del objeto Date especificado en la er. la hora universal y devuelve la nueva hora en milisegundos.Modificadores Firma getYear() : Number Descripción Devuelve el año del objeto Date especificado de acuerdo con la hora local. setDate(date:Number Establece el día del mes para el objeto Date ) : Number setFullYear(year:Nu Establece el año del objeto Date especificado de mber. especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos. de acuerdo con la hora local y devuelve la nueva hora en milisegundos. especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos. [month:Number]. (my_date) en la hora universal y devuelve la nueva hora en milisegundos. [date:Number]) : Number setSeconds(second:N Establece los segundos del objeto Date umber) : Number setTime(millisecond Establece la fecha del objeto Date especificado en :Number) : Number setUTCDate(date:Num Establece la fecha del objeto Date especificado en ber) : Number setUTCFullYear(year Establece el año del objeto Date especificado :Number. [date:Number]) : Number setHours(hour:Numbe Establece las horas del objeto Date especificado r) : Number de acuerdo con la hora local y devuelve la nueva hora en milisegundos. [date:Number]) : Number Date 309 . acuerdo con la hora local y devuelve la nueva hora en milisegundos. milisegundos desde la media noche del 1 de enero de 1970 y devuelve la nueva hora en milisegundos. hora local y devuelve la nueva hora en milisegundos.

[millisecond:Number ]) : Number valueOf() : Number Devuelve el número de milisegundos entre la media noche del 1 de enero de 1970. [minute:Number]. el día del objeto umber. para este objeto Date. toString() : String Devuelve un valor de cadena para el objeto de static UTC(year:Number. hora local y devuelve la nueva hora en milisegundos. ]) : Number setYear(year:Number Establece el año del objeto Date especificado en la ) : Number Date especificado en la hora universal y devuelve la nueva hora en milisegundos. Devuelve el número de milisegundos desde la medianoche del 1 de enero de 1970. [date:Number]) : Number setUTCSeconds(secon Establece los segundos del objeto Date d:Number. setUTCHours(hour:Nu Establece la hora del objeto Date especificado en setUTCMilliseconds( Establece los milisegundos del objeto Date millisecond:Number) especificado en la hora universal y devuelve la : Number nueva hora en milisegundos. [second:Number]. [hour:Number]. [second:Number]. [millisecond:Number ]) : Number Descripción la hora universal y devuelve la nueva hora en milisegundos. en la hora universal y devuelve la nueva hora en milisegundos. y la hora especificada en los parámetros. especificado en la hora universal y devuelve la [millisecond:Number nueva hora en milisegundos. 310 Clases de ActionScript . opcionalmente. hora universal. month:Number. hora universal. fecha especificado en un formato legible. setUTCMinutes(minut Establece el minuto del objeto Date especificado e:Number. [millisecond:Number ]) : Number setUTCMonth(month:N Establece el mes y.Modificadores Firma mber. [minute:Number]. [second:Number]. [date:Number].

[hour:Number].isPropertyEnumerable). se crea un objeto Date al que se han pasado los parámetros year. 15. [second:Number]. month. unwatch (método Object. la hora es 02:56:15 GMT del 21 de julio de 1969. por lo que se interpreta como 1965.watch) Constructor Date public Date([yearOrTimevalue:Number]. se establece un objeto Date con la hora en que se ejecutó la sentencia de asignación. También es posible no especificar parámetros y asignar al objeto de fecha Date() la fecha y la hora actuales. valueOf (método Object. El parámetro year se especifica como un entero de dos dígitos. hasOwnProperty (método Object.. 1). En la primera línea de código. [date:Number].unwatch). 1965. [millisecond:Number]) Construye un objeto new Date que contiene la fecha y la hora especificadas. En la segunda línea se crea un objeto Date con los parámetros year.hasOwnProperty). que es un valor de hora que representa el número de milisegundos antes o después de las 0:00:00 GMT del 1 de enero de 1970. toString (método Object. dado que el valor es negativo.isPrototypeOf). [month:Number]. En la cuarta línea sólo se pasa un parámetro. También es posible pasar un valor único al constructor Date() que indique un valor de hora basado en el número de milisegundos desde el 1 de enero de 1970 a las 0:00:000 GMT. . registerClass (método Object. Date(2000. lo que da como resultado la hora 09:30:15 GMT (+ 0 milisegundos) 6 de marzo.registerClass). este código muestra varias formas distintas de crear un objeto Date: var var var var d1:Date d3:Date d4:Date d5:Date = = = = new new new new Date(). Date(65. millisecond) para especificar una fecha y una hora en milisegundos.. month y date que se le han pasado. 2. En la tercera línea. 30. 0. El constructor Date() toma hasta siete parámetros (year.toString). representa una hora anterior a las 0:00:00 GMT del 1 de enero de 1970 y.valueOf). watch (método Object. en este caso.Métodos heredados de la clase Object addProperty (método Object. 9.addProperty). Date(-14159025000). Date 311 . month y date. Por ejemplo. isPrototypeOf (método Object. 0). 6. [minute:Number].. isPropertyEnumerable (método Object. lo que da como resultado la hora 0:00:00 GMT del 1 de enero de 2000.

un valor de 0 a 99 indica de 1900 a 1999. no 8): var maryBirthday:Date = new Date (74.Un entero de 0 (enero) a 11 (diciembre). es el número de milisegundos antes o después de las 0:00:00 GMT del 1 de enero de 1970.Parámetros yearOrTimevalue:Number [opcional] .getFullYear()). getDate (método Date.getMonth()+1)+"/ "+today_date. Si el número representa un año. en caso contrario. un valor negativo representa una hora anterior a las 0:00:00 GMT del 1 de enero de 1970. // muestra la fecha actual en formato de fecha de Estados Unidos Véase también getMonth (método Date. en caso contrario deben especificarse los cuatro dígitos del año. [opcional] . getFullYear (método Date. el 12 de agosto de 1974 (dado que el parámetro month se basa en ceros.Entero de 1 a 59.getDate() y Date.Entero de 1 a 59.getMonth(). [opcional] . Date. [opcional] . representa un valor de hora.Si se especifican otros parámetros.getMonth).getDate).getFullYear(): var today_date:Date = new Date(). este número representa un año (por ejemplo. trace(date_str).Entero de 0 a 999 milisegundos.getFullYear) 312 Clases de ActionScript . 12). [opcional] . [opcional] . el ejemplo utiliza 7 para el mes.getDate()+"/"+today_date. [opcional] . var date_str:String = ((today_date. El ejemplo siguiente crea un objeto new Date para el cumpleaños de Mary. 1965).Entero de 1 a 31. y un valor positivo representa una hora posterior.Entero de 0 (medianoche) a 23 (11 de la noche). 7. month:Number date:Number hour:Number minute:Number second:Number millisecond:Number Ejemplo El ejemplo siguiente recupera la fecha y la hora actuales: var now_date:Date = new Date(). Si el número representa un valor de hora (no se especifican otros parámetros). El ejemplo siguiente crea un objeto new Date y concatena los valores devueltos de Date.

Ejemplo El ejemplo siguiente crea un objeto new Date y utiliza getDay() para determinar el día actual de la semana: var dayOfWeek_array:Array = new Array("Sunday". Valor devuelto Number . "Saturday"). // muestra la fecha actual en formato de fecha de Estados Unidos Véase también getMonth (método Date.getDay) public getDay() : Number Devuelve el día de la semana (0 para domingo.getDate (método Date. Ejemplo El ejemplo siguiente crea un objeto new Date y concatena los valores devueltos de Date. "Friday".getFullYear) getDay (método Date. etc. "Monday".getFullYear(): var today_date:Date = new Date(). La hora local la determina el sistema operativo en el que se ejecuta Flash Player.getDate() y Date.getFullYear()).getMonth).Un entero que representa el día de la semana. var today_date:Date = new Date(). Valor devuelto Number .getMonth()+1)+"/"+today_date.getDate) public getDate() : Number Devuelve el día del mes (un entero del 1 al 31) del objeto Date especificado de acuerdo con la hora local. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.) del objeto Date especificado de acuerdo con la hora local. trace("Today is "+day_str). "Thursday". trace(date_str). "Wednesday".getDay()].Un entero.getMonth(). var day_str:String = dayOfWeek_array[today_date. "Tuesday".getDate()+"/ "+(today_date. Date 313 . Date. getFullYear (método Date. 1 para lunes. var date_str:String = (today_date.

returnObj. var hour12:Number = hour24%12.getYear()). var hourObj:Object = getHoursAmPm(my_date. // muestra 104 trace(my_date. trace(my_date. como. function getHoursAmPm(hour24:Number):Object { var returnObj:Object = new Object().getHours) public getHours() : Number Devuelve la hora (un entero del 0 al 23) del objeto Date especificado de acuerdo con la hora local. 2000) del objeto Date especificado de acuerdo con la hora local. var my_date:Date = new Date().getHours()).Un entero.Entero que representa el año. Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getHours() para mostrar valores de hora de ese objeto: var my_date:Date = new Date(). Valor devuelto Number . trace(hourObj. trace(hourObj. La sentencia trace muestra el valor devuelto por el método getFullYear(). Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date. por ejemplo. var my_date:Date = new Date().ampm = (hour24<12) ? "AM" : "PM". La hora local la determina el sistema operativo en el que se ejecuta Flash Player.getHours()). if (hour12 == 0) { 314 Clases de ActionScript . Valor devuelto Number .hours).ampm).getFullYear (método Date. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.getFullYear()).getFullYear) public getFullYear() : Number Devuelve el año completo (un número de cuatro dígitos. // muestra el año actual getHours (método Date. trace(my_date.

2005 16 October 2005 getLocaleShortDate (método Date. } returnObj.getLocaleShortDate) public getLocaleShortDate() : String Devuelve una cadena que representa la fecha actual. en formato corto. También utiliza el método getLocaleLongDate() para devolver la fecha actual. con formato según la configuración local definida. del siguiente modo: var my_date:Date = new Date().getLocaleLongDate()).Cadena que representa la fecha actual. Nota: el formato de la fecha depende del dispositivo móvil y de la configuración local. con formato según la configuración local definida. en formato largo. con formato según la configuración local definida. en formato corto. Date 315 . Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date según la hora actual.hours = hour12. } getLocaleLongDate (método Date. en formato largo.getLocaleLongDate) public getLocaleLongDate() : String Devuelve una cadena que representa la fecha actual. con formato según la configuración local definida. return returnObj.Cadena que representa la fecha actual. con formato según la configuración local definida. en formato largo. Valor devuelto String . trace(my_date. Valor devuelto String .hour12 = 12. A continuación se muestran los valores de muestra devueltos por getLocaleLongDate(): October 16. Nota: el formato de la fecha depende del dispositivo móvil y de la configuración local.

También utiliza el método getLocaleShortDate() para devolver la fecha actual. del siguiente modo: var my_date:Date = new Date(). Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date según la hora actual. con formato según la configuración local definida. Valor devuelto String . A continuación se muestran los valores de muestra devueltos por getLocaleLongDate(): 10/16/2005 16-10-2005 getLocaleTime (método Date.getLocaleTime) public getLocaleTime() : String Devuelve una cadena que representa la hora actual con formato según la configuración local definida. Nota: el formato de la fecha depende del dispositivo móvil y de la configuración local.getLocaleShortDate()).getMilliseconds) public getMilliseconds() : Number Devuelve los milisegundos (un entero del 0 al 999) del objeto Date especificado de acuerdo con la hora local. A continuación se muestran los valores de muestra devueltos por getLocaleTime(): 6:10:44 PM 18:10:44 getMilliseconds (método Date. trace(my_date. trace(my_date. en formato corto. La hora local la determina el sistema operativo en el que se ejecuta Flash Player. También utiliza el método getLocaleTime() para devolver la hora de la configuración local. 316 Clases de ActionScript .Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date según la hora actual.Cadena que representa la hora actual con formato según la configuración local definida.getLocaleTime()). de la manera siguiente: var my_date:Date = new Date().

La hora local la determina el sistema operativo en el que se ejecuta Flash Player. Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getMinutes() para devolver el valor en minutos de ese objeto: var my_date:Date = new Date(). Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getMonth() para devolver el valor del mes de ese objeto: var my_date:Date = new Date(). Valor devuelto Number .Valor devuelto Number .getMinutes()). 1 para febrero. trace(my_date.Un entero.getMonth) public getMonth() : Number Devuelve el mes (0 para enero.getMinutes) public getMinutes() : Number Devuelve los minutos (un entero del 0 al 59) del objeto Date especificado de acuerdo con la hora local. Date 317 . getMonth (método Date. getMinutes (método Date.Un entero.) del objeto Date especificado de acuerdo con la hora local. Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getMilliseconds() para devolver el valor en milisegundos de ese objeto: var my_date:Date = new Date(). etc. trace(my_date.getMilliseconds()).Un entero. trace(my_date. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.getMonth()). Valor devuelto Number .

Valor devuelto Number . "December").getMonth()). para el objeto Date especificado. "February". La hora local la determina el sistema operativo en el que se ejecuta Flash Player. trace(getMonthAsString(my_date. } getSeconds (método Date. hora universal.getSeconds()). Utilice este método para representar un instante concreto en el tiempo al comparar dos o más objetos Date. Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getSeconds() para devolver el valor en segundos de ese objeto: var my_date:Date = new Date(). function getMonthAsString(month:Number):String { var monthNames_array:Array = new Array("January". 318 Clases de ActionScript . "July". getTime (método Date. "November".Un entero. Valor devuelto Number . "March". "October". "April".Un entero. trace(my_date.getMonth())).getTime) public getTime() : Number Devuelve el número de milisegundos desde la media noche del 1 de enero de 1970.getSeconds) public getSeconds() : Number Devuelve los segundos (un entero del 0 al 59) del objeto Date especificado de acuerdo con la hora local. "August". "May".El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getMonth() para mostrar el mes actual como un valor numérico y mostrar el nombre del mes. var my_date:Date = new Date(). trace(my_date. return monthNames_array[month]. "June". "September".

Un entero.getTimezoneOffset) public getTimezoneOffset() : Number Devuelve la diferencia. trace(my_date. Valor devuelto Number .UU. trace(my_date.getTime()). El resultado varía según la ubicación y el momento del año. El resultado de este ejemplo es 420 minutos y aparece en el panel Salida (7 horas * 60 minutos/hora = 420 minutos). entre la hora local del equipo y la hora universal. getTimezoneOffset (método Date. (PDT. La hora de verano sólo se tiene en cuenta en el resultado si la fecha definida en el objeto Date se encuentra dentro del horario de verano. Ejemplo El ejemplo siguiente devuelve la diferencia entre la hora de verano local de San Francisco y la hora universal. en minutos.getUTCDate) public getUTCDate() : Number Devuelve el día del mes (un entero del 1 al 31) del objeto Date especificado de acuerdo con la hora universal. Este ejemplo utiliza el horario de verano de la costa del Pacífico de EE.Un entero.getTimezoneOffset()).Ejemplo El ejemplo siguiente utiliza el constructor para crear un objeto Date basado en la hora actual y utiliza el método getTime() para devolver el número de milisegundos desde la medianoche del 1 de enero de 1970: var my_date:Date = new Date(). Date 319 . GMT-0700). Valor devuelto Number . var my_date:Date = new Date(). getUTCDate (método Date.

1 para lunes.Ejemplo El ejemplo siguiente crea un nuevo objeto Date y emplea Date.getUTCDate() y Date.getDay) 320 Clases de ActionScript . // salida: 25 Véase también getDate (método Date. Valor devuelto Number .getDate().getDate().8.25). Ejemplo El ejemplo siguiente crea un nuevo objeto Date y emplea Date.getUTCDay) public getUTCDay() : Number Devuelve el día de la semana (0 para domingo. El valor que devuelve Date.getUTCDate()).getUTCDay() puede ser distinto del valor que devuelve Date. // la salida será igual a getDay() más o menos uno Véase también getDay (método Date.getUTCDay() y Date. etc. // la salida se basará en la zona horaria local trace(today_date. var my_date:Date = new Date(2004. El valor que devuelve Date.getDay(). trace(my_date.getUTCDay()).getDate) getUTCDay (método Date. var today_date:Date = new Date().Un entero. según la relación existente entre la zona horaria local y la hora universal.) del objeto Date especificado de acuerdo con la hora universal. trace(today_date.getDay()).getUTCDate() puede ser distinto del valor que devuelve Date.getDay(). según la relación existente entre la zona horaria local y la hora universal.

// visualización basada en la zona horaria local trace(today_date. var today_date:Date = new Date().getHours().getUTCFullYear() puede ser distinto del valor que devuelve Date. según la relación existente entre la zona horaria local y la hora universal.getUTCFullYear()). El valor que devuelve Date.getUTCHours()). // muestra getYear() más o menos 1 Véase también getFullYear (método Date. // la visualización es igual a getHours() más o menos 12 Date 321 .getFullYear()).getFullYear) getUTCHours (método Date.getHours()). var today_date:Date = new Date().getFullYear() si la fecha del día es 31 de diciembre o 1 de enero.Un entero.getUTCHours() y Date.Un entero.getUTCFullYear (método Date.getUTCHours) public getUTCHours() : Number Devuelve la hora (un entero del 0 al 23) del objeto Date especificado de acuerdo con la hora universal. Valor devuelto Number . El valor que devuelve Date.getUTCHours() puede ser distinto del valor que devuelve Date.getHours(). Valor devuelto Number .getFullYear(). Ejemplo El ejemplo siguiente crea un nuevo objeto Date y emplea Date.getUTCFullYear() y Date. Ejemplo El ejemplo siguiente crea un nuevo objeto Date y emplea Date.getUTCFullYear) public getUTCFullYear() : Number Devuelve los cuatro dígitos del año del objeto Date especificado de acuerdo con la hora universal. trace(today_date. trace(today_date. según la relación existente entre la zona horaria local y la hora universal. // visualización basada en la zona horaria local trace(today_date.

getUTCMinutes (método Date.getUTCMilliseconds()). 322 Clases de ActionScript .getUTCMilliseconds) public getUTCMilliseconds() : Number Devuelve los milisegundos (un entero del 0 al 999) del objeto Date especificado de acuerdo con la hora universal. trace(today_date.getHours) getUTCMilliseconds (método Date. var today_date:Date = new Date().Un entero. Ejemplo El ejemplo siguiente crea un objeto new Date y utiliza getUTCMilliseconds() para devolver el valor en milisegundos del objeto Date. Ejemplo El ejemplo siguiente crea un objeto new Date y utiliza getUTCMinutes() para devolver el valor en minutos del objeto Date: var today_date:Date = new Date().Un entero. de acuerdo con la hora universal. Valor devuelto Number . Valor devuelto Number .Véase también getHours (método Date.getUTCMinutes) public getUTCMinutes() : Number Devuelve los minutos (un entero del 0 al 59) del objeto Date especificado. trace(today_date.getUTCMinutes()).

getMonth()). var today_date:Date = new Date().getUTCMonth) public getUTCMonth() : Number Devuelve el mes (de 0 [enero] a 11 [diciembre]) del objeto Date especificado de acuerdo con la hora universal. El valor que devuelve Date. // salida basada en la zona horaria local trace(today_date. Valor devuelto Number .getUTCSeconds()). Ejemplo El ejemplo siguiente crea un objeto new Date y utiliza getUTCSeconds() para devolver el valor en segundos del objeto Date: var today_date:Date = new Date(). trace(today_date.getUTCMonth() puede ser distinto del valor que devuelve Date.Un entero. según la relación existente entre la zona horaria local y la hora universal. // la salida es igual a getMonth() más o menos 1 Véase también getMonth (método Date.getUTCMonth (método Date.getMonth() si la fecha del día es el primer o el última día del mes. trace(today_date.getUTCMonth() y Date. Date 323 . Ejemplo El ejemplo siguiente crea un nuevo objeto Date y emplea Date.getMonth().getUTCMonth()).getMonth) getUTCSeconds (método Date.Un entero. Valor devuelto Number .getUTCSeconds) public getUTCSeconds() : Number Devuelve los segundos (un entero del 0 al 59) del objeto Date especificado de acuerdo con la hora universal.

// salida: 2004 Véase también getFullYear (método Date.4). // muestra getYear() más o menos 1 getYear (método Date.getUTCFullYear() puede ser distinto del valor que devuelve Date. Por ejemplo. El método Date.getYear()). Valor devuelto Number . var today_date:Date = new Date(). trace(today_date.getFullYear() si la fecha del día es 31 de diciembre o 1 de enero. el año 2000 se representa como 100. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.Un entero.getUTCYear (método Date. Por ejemplo. El valor que devuelve Date.getUTCYear) public getUTCYear() : Number Devuelve el año de este objeto Date según la hora universal (UTC). según la relación existente entre la zona horaria local y la hora universal.getUTCFullYear()). trace(today_date.getYear() devuelve 104 y Date. // salida: 104 trace(today_date. // visualización basada en la zona horaria local trace(today_date.getFullYear()). el año 2000 se representa como 100.getUTCFullYear() y Date. El año es el año completo menos 1900. Ejemplo El ejemplo siguiente crea un objeto Date con el mes y el año como mayo de 2004.getFullYear()). Valor devuelto Number - Ejemplo El ejemplo siguiente crea un nuevo objeto Date y emplea Date. El año es el año completo menos 1900.getFullYear() devuelve 2004: var today_date:Date = new Date(2004.getYear) public getYear() : Number Devuelve el año del objeto Date especificado de acuerdo con la hora local.getFullYear().getFullYear) 324 Clases de ActionScript .

Un entero. La hora local la determina el sistema operativo en el que se ejecuta Flash Player. Parámetros date:Number . Date.setFullYear) public setFullYear(year:Number. Valor devuelto Number .Un entero de 0 (enero) a 11 (diciembre).setDate (método Date.Número de cuatro dígitos que especifica un año. //muestra 25 setFullYear (método Date.4.getUTCDay() Parámetros year:Number . month:Number [opcional] . Si omite este parámetro.setDate(25). date:Number [opcional] . trace(today_date.setDate) public setDate(date:Number) : Number Establece el día del mes para el objeto Date especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos. por ejemplo.15).getDate()). Los números de dos dígitos no representan años de cuatro dígitos. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.05.Un número del 1 al 31. que establece la fecha como 15 de mayo de 2004 y utiliza Date. trace(today_date. Si omite este parámetro. [month:Number].getDate()). aunque y Date. no se modificará el campo date del objeto Date especificado. 99 no es el año 1999. no se modificará el campo month del objeto Date especificado. éstos se establecen con la hora local. var today_date:Date = new Date(2004. Si se especifican los parámetros month y date.setDate() para cambiar la fecha a 25. Date 325 . [date:Number]) : Number Establece el año del objeto Date especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos.Entero de 1 a 31.04. La llamada a este método no modifica los demás campos del objeto Date especificado. La hora local la determina el sistema operativo en el que se ejecuta Flash Player. //muestra 15 today_date.getDay() pueden indicar un nuevo valor si cambia el día de la semana como resultado de la llamada a este método. sino el año 99.

Valor devuelto Number .getUTCDay).8).15.getHours()). trace(my_date.4. trace(my_date.Un entero. Parámetros hour:Number . // salida: 8 my_date.getFullYear()). getDay (método Date. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.setFullYear(2002).4. //salida: 2002 Véase también getUTCDay (método Date.05. trace(my_date. // salida: 16 326 Clases de ActionScript . trace(my_date. Valor devuelto Number . que establece la fecha como 15 de mayo de 2004 y utiliza Date.setHours) public setHours(hour:Number) : Number Establece las horas del objeto Date especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos.15). //salida: 2004 my_date.setFullYear() para cambiar la fecha a 15.02. y utiliza Date.getDay) setHours (método Date.getHours()).Entero de 0 (medianoche) a 23 (11 de la noche).setHours(16).Un entero.getFullYear()).setHours() para cambiar la hora a las 4:00 de la tarde: var my_date:Date = new Date(2004. que establece la hora y la fecha como 8:00 de la mañana del 15 de mayo de 2004. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date. var my_date:Date = new Date(2004. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.

Un entero. Valor devuelto Number .setMinutes) public setMinutes(minute:Number) : Number Establece los minutos del objeto Date especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos. Parámetros minute:Number . trace(my_date.Entero de 0 a 999.4. La hora local la determina el sistema operativo en el que se ejecuta Flash Player. Date 327 .30.250).setMilliseconds() para cambiar el valor de milisegundos a 575: var my_date:Date = new Date(2004. que establece la fecha como las 8:30 de la mañana del 15 de mayo de 2004 con el valor de milisegundos como 250 y.setMilliseconds) public setMilliseconds(millisecond:Number) : Number Establece los milisegundos del objeto Date especificado de acuerdo con la hora local y devuelve la nueva hora en milisegundos.Un entero. // salida: 575 setMinutes (método Date.15.setMilliseconds (método Date. a continuación. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date. trace(my_date.getMilliseconds()). // salida: 250 my_date. La hora local la determina el sistema operativo en el que se ejecuta Flash Player. utiliza Date.getMilliseconds()). Valor devuelto Number .8. Parámetros millisecond:Number .0.setMilliseconds(575).Entero de 0 a 59.

var my_date:Date = new Date(2004.06. trace(my_date. Parámetros month:Number date:Number .setMonth) public setMonth(month:Number.4. // salida: 30 setMonth (método Date.getMonth()). que establece la hora y la fecha como las 8:00 de la mañana del 15 de mayo de 2004 y.getMinutes()).Un entero de 0 (enero) a 11 (diciembre).Un entero. // salida: 0 my_date.setMonth() para cambiar la fecha a 15.8. no se modificará el campo date del objeto Date especificado.Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.4. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.getMonth()). trace(my_date.Un número del 1 al 31.setMinutes() para cambiar la hora a las 8:30 de la mañana: var my_date:Date = new Date(2004.0).04.15). trace(my_date. que establece la fecha como 15 de mayo de 2004 y utiliza Date. [opcional] . a continuación. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.15.getMinutes()). trace(my_date.setMinutes(30). //salida: 5 328 Clases de ActionScript . //salida: 4 my_date. Valor devuelto Number . utiliza Date.setMonth(5). Si omite este parámetro. [date:Number]) : Number Establece el mes del objeto Date especificado en la hora local y devuelve la nueva hora en milisegundos.

0).Un número. y utiliza Date.Un entero. Parámetros second:Number . trace(my_date. Date 329 .0.15.setTime) public setTime(millisecond:Number) : Number Establece la fecha del objeto Date especificado en milisegundos desde la media noche del 1 de enero de 1970 y devuelve la nueva hora en milisegundos. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.4.setSeconds() para cambiar la hora a las 08:00:45. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.Un entero.setSeconds(45).setSeconds (método Date. donde 0 es la medianoche del 1 de enero. var my_date:Date = new Date(2004. trace(my_date. Valor devuelto Number . un valor de entero. // salida: 0 my_date.Entero de 0 a 59.8. Valor devuelto Number .getSeconds()). // salida: 45 setTime (método Date.getSeconds()). Parámetros millisecond:Number . hora universal. que establece la hora y la fecha como las 08:00:00 del 15 de mayo de 2004.setSeconds) public setSeconds(second:Number) : Number Establece los segundos del objeto Date especificado en la hora local y devuelve la nueva hora en milisegundos.

setTime() para cambiar la hora a las 08:30:00.getTime().setUTCDate(25).0. //salida: 2004 trace(my_date. La llamada a este método no modifica los demás campos del objeto Date especificado.setUTCDate() para cambiar el valor de fecha a 10 y lo vuelve a cambiar a 25: var my_date:Date = new Date(). trace(my_date.getUTCDay() y Date. y utiliza Date.getDay) 330 Clases de ActionScript .getDate()). // salida: 10 my_date.Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.setUTCDate(10). getDay (método Date.Un número. my_date.setUTCDate) public setUTCDate(date:Number) : Number Establece la fecha del objeto Date especificado en la hora universal y devuelve la nueva hora en milisegundos. un entero de 1 a 31. // salida: 25 Véase también getUTCDay (método Date. //salida: 4 trace(my_date.0).getUTCDate()).setTime(myDate_num). // salida: 15 trace(my_date. Parámetros date:Number .Un entero. // salida: 8 trace(my_date. Valor devuelto Number . var myDate_num:Number = my_date. aunque Date.getMonth()). que establece la hora y la fecha como las 08:00:00 del 15 de mayo de 2004.15.getUTCDay). Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date con la fecha del día.getFullYear()).getUTCDate()).8.4. // convierte my_date a milisegundos myDate_num += 30 * 60 * 1000.getDay() pueden indicar un nuevo valor si cambia el día de la semana como resultado de la llamada a este método. var my_date:Date = new Date(2004. // añade 30 minutos en milisegundos my_date.getHours()). trace(my_date.getMinutes()). // establece el objeto de fecha my_date 30 hacia delante trace(my_date. utiliza Date. // salida: 30 setUTCDate (método Date.

getUTCFullYear (método Date.setUTCFullYear(1995. utiliza Date. // salida: 4 trace(my_date. Si omite este parámetro.getUTCDate()). trace(my_date. date:Number [opcional] . month:Number [opcional] . no se modificará el campo date del objeto Date especificado. Valor devuelto Number . este método también puede establecer el mes y la fecha representados por el objeto Date especificado.getUTCMonth()).getUTCFullYear) public setUTCFullYear(year:Number. como 2000. my_date. 25). no se modificará el campo month del objeto Date especificado. [date:Number]) : Number Establece el año del objeto Date especificado (my_date) en la hora universal y devuelve la nueva hora en milisegundos. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date con la fecha del día. Parámetros year:Number .Un entero. // salida: 1995 trace(my_date. trace(my_date.getUTCDay).Un entero que representa el año especificado como año completo de cuatro dígitos. getDay (método Date. // salida: 2001 my_date.getUTCDay() y Date.getDay) Date 331 . // salida: 25 Véase también getUTCDay (método Date.Un entero de 0 (enero) a 11 (diciembre). 4. La llamada a este método no modifica los demás campos del objeto Date especificado. Opcionalmente. [month:Number].getUTCFullYear()). aunque Date.Un número del 1 al 31.setUTCFullYear(2001). Si omite este parámetro.setUTCFullYear() para cambiar el valor de año a 2001 y cambia la fecha a 25 de mayo de 1995: var my_date:Date = new Date().getUTCFullYear()).getDay() pueden indicar un nuevo valor si cambia el día de la semana como resultado de la llamada a este método.

Un número. no se modificará el campo minutes del objeto Date especificado. [millisecond:Number]) : Number Establece la hora del objeto Date especificado en la hora universal y devuelve la nueva hora en milisegundos. [second:Number].Un número del 0 al 999.30). no se modificará el campo seconds del objeto Date especificado.setUTCHours (método Date.Un número del 0 al 59. second:Number millisecond:Number [opcional] .setUTCHours(8.setUTCHours(17. [minute:Number].getUTCMinutes()). Si omite este parámetro. // salida: 30 my_date. // salida: 8 trace(my_date.Un entero. un entero desde 0 (medianoche) a 23 (11 de la noche). // salida: 30 trace(my_date. // salida: 47 332 Clases de ActionScript .getUTCMinutes()).47).getUTCHours()).30. Valor devuelto Number . Si omite este parámetro. trace(my_date. no se modificará el campo milliseconds del objeto Date especificado. Parámetros hour:Number . [opcional] .getUTCSeconds()). trace(my_date. my_date.setUTCHours() para cambiar la hora a 8:30 de la mañana y vuelve a cambiar la hora a 5:30:47 de la tarde: var my_date:Date = new Date(). utiliza Date.Un número del 0 al 59. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date con la fecha del día. minute:Number [opcional] .setUTCHours) public setUTCHours(hour:Number. Si omite este parámetro.getUTCHours()). // salida: 17 trace(my_date.

[millisecond:Number]) : Number Establece el minuto del objeto Date especificado en la hora universal y devuelve la nueva hora en milisegundos.Un número del 0 al 59. Valor devuelto Number . que establece la fecha como las 8:30 de la mañana del 15 de mayo de 2004 con el valor de milisegundos como 250 y. Si omite este parámetro. Parámetros millisecond:Number .Entero de 0 a 59. [opcional] . no se modificará el campo milliseconds del objeto Date especificado.setUTCMilliseconds() para cambiar el valor de milisegundos a 575: var my_date:Date = new Date(2004.Un entero.8. [second:Number]. utiliza Date.setUTCMilliseconds) public setUTCMilliseconds(millisecond:Number) : Number Establece los milisegundos del objeto Date especificado en la hora universal y devuelve la nueva hora en milisegundos.Un número del 0 al 999. Date 333 . a continuación. no se modificará el campo seconds del objeto Date especificado. millisecond:Number [opcional] . Valor devuelto Number .setUTCMilliseconds(575).getUTCMilliseconds()). Parámetros minute:Number second:Number .getUTCMilliseconds()). Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date.setUTCMinutes) public setUTCMinutes(minute:Number. trace(my_date. // salida: 575 setUTCMinutes (método Date.setUTCMilliseconds (método Date.30.Un entero.Entero de 0 a 999. // salida: 250 my_date.4.0. Si omite este parámetro.250).15. trace(my_date.

getDay() podrían indicar un nuevo valor si cambia el día de la semana como resultado de especificar un valor para el parámetro date. que establece la fecha como 15 de mayo de 2004 y utiliza Date. [opcional] . aunque Date.getUTCMinutes()).15. trace(my_date.setUTCMonth) public setUTCMonth(month:Number. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date. Valor devuelto Number . que establece la hora y la fecha como las 08:00:00 del 15 de mayo de 2004.getDay) 334 Clases de ActionScript .4. y utiliza Date. // salida: 4 today_date.Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date. Si omite este parámetro.06.8. // salida: 30 setUTCMonth (método Date. no se modificará el campo date del objeto Date especificado. [date:Number]) : Number Establece el mes y. // salida: 0 my_date.Un entero.Un número del 1 al 31.0).getUTCMonth()). el día del objeto Date especificado en la hora universal y devuelve la nueva hora en milisegundos. trace(today_date.getUTCMinutes()).setUTCMinutes(30). var my_date:Date = new Date(2004.4.getUTCDay() y Date. // salida: 5 Véase también getUTCDay (método Date. opcionalmente.15). var today_date:Date = new Date(2004.Un entero de 0 (enero) a 11 (diciembre).getUTCMonth()). getDay (método Date.04.setUTCMonth(5).getUTCDay).setUTCMinutes() para cambiar la hora a las 08:30:00. trace(my_date. trace(today_date. Parámetros month:Number date:Number .setMonth() para cambiar la fecha a 15. La llamada a este método no modifica los demás campos del objeto Date especificado.

que establece la hora y la fecha como las 08:00:00 del 15 de mayo de 2004. millisecond:Number [opcional] . no se modificará el campo milliseconds del objeto Date especificado.Un entero. // salida: 0 my_date. Parámetros year:Number .setUTCSeconds (método Date.0).setUTCSeconds(45). Si year es un entero entre 0 y 99.Un número del 0 al 999.setUTCSeconds) public setUTCSeconds(second:Number.setSeconds() para cambiar la hora a las 08:30:45.4.getUTCSeconds()).8.getUTCSeconds()). Valor devuelto Number . trace(my_date.Entero de 0 a 59. La hora local la determina el sistema operativo en el que se ejecuta Flash Player.setYear) public setYear(year:Number) : Number Establece el año del objeto Date especificado en la hora local y devuelve la nueva hora en milisegundos. el año es el valor del parámetro year. [millisecond:Number]) : Number Establece los segundos del objeto Date especificado en la hora universal y devuelve la nueva hora en milisegundos. en caso contrario. Ejemplo El ejemplo siguiente crea inicialmente un objeto new Date. Date 335 .Un entero.Un número que representa el año. Parámetros second:Number . setYear define el año como 1900 + year. Valor devuelto Number . Si omite este parámetro.0. trace(my_date. var my_date:Date = new Date(2004. // salida: 45 setYear (método Date. y utiliza Date.15.

15). Ejemplo El ejemplo siguiente devuelve la información del objeto Date dateOfBirth_date como una cadena. no a través de un objeto Date específico. [hour:Number].toString()). Este método le permite crear un objeto Date que da por hecho la aplicación de la hora universal. // salida: 104 trace(my_date. mientras que el constructor de Date da por hecho la aplicación de la hora local. En el caso del horario de verano de la costa del Pacífico de EE. Este es un método estático que se invoca a través del constructor del objeto Date.Ejemplo El ejemplo siguiente crea un objeto new Date en el que se establece la fecha como 25 de mayo de 2004. trace(my_date. trace (dateOfBirth_date).toString) public toString() : String Devuelve un valor de cadena para el objeto de fecha especificado en un formato legible.UTC) public static UTC(year:Number. // salida: 99 trace(my_date.UU.25). //salida: 1999 my_date. 12. [second:Number]. Valor devuelto String .setYear(99).getYear()).setYear(2003). [date:Number]. var dateOfBirth_date:Date = new Date(74. hora universal. 336 Clases de ActionScript . trace(my_date.getYear()). y la hora especificada en los parámetros. 12 de agosto 18:15:00 GMT-0700 de 1974. month:Number. 18.4.getFullYear()). // salida: 103 trace(my_date. [millisecond:Number]) : Number Devuelve el número de milisegundos entre la media noche del 1 de enero de 1970.Una cadena. [minute:Number]. //salida: 2003 toString (método Date.getFullYear()). utiliza setYear() para cambiar el año a 1999 y cambia el año a 2003: var my_date:Date = new Date(2004. trace (dateOfBirth_date. El resultado de las sentencias trace están en hora local y varían según corresponda. trace(my_date.getFullYear()).getYear()). UTC (método Date. el resultado es siete horas anterior a la hora universal: lunes. //salida: 2004 my_date. 7.

Entero de 0 (medianoche) a 23 (11 de la noche). para este objeto Date. 11 de agosto 17:00:00 GMT-0700 de 1974. Date 337 .UTC(1974. month:Number date:Number hour:Number minute:Number second:Number millisecond:Number Valor devuelto Number . trace(maryBirthday_date).Un entero de 0 (enero) a 11 (diciembre).Entero de 1 a 59. Ejemplo El ejemplo siguiente crea un nuevo objeto Date maryBirthday_date definido en hora universal. [opcional] . [opcional] . En el caso del horario de verano de la costa del Pacífico de EE. [opcional] .Un entero de cuatro dígitos que representa el año (por ejemplo. .UU.Entero de 1 a 999. Valor devuelto Number .valueOf) public valueOf() : Number Devuelve el número de milisegundos desde la medianoche del 1 de enero de 1970.Entero de 1 a 31.Parámetros year:Number . var maryBirthday_date:Date = new Date(Date. El resultado se expresa en hora local y varía según corresponda. [opcional] . valueOf (método Date.El número de milisegundos. 12)). 2000). el resultado es siete horas anterior a la hora universal: domingo. Esta es la variación en hora universal del ejemplo empleado con el método del constructor new Date. [opcional] . hora universal.Un entero.Entero de 1 a 59. 7.

__resolve) Resumen de constructores Firma ng]) Descripción Error([message:Stri Crea un nuevo objeto Error. Propiedades heredadas de la clase Object constructor (propiedad Object. __resolve (propiedad Object.__proto__).Error Object | +-Error public class Error extends Object Contiene información sobre un error que se ha producido en un script. __proto__ (propiedad Object. toString() : String Devuelve la cadena "Error" de manera 338 Clases de ActionScript . Resumen de métodos Modificadores Firma Descripción predeterminada o el valor contenido en Error. También puede crear una subclase de la clase Error y emitir instancias de dicha subclase.prototype). Normalmente emitirá (throw) un nuevo objeto Error desde dentro de un bloque de código try que posteriormente será detectado por un bloque de código catch o finally. Puede crear un objeto Error utilizando la función constructora Error. Contiene el nombre del objeto Error.constructor).message. prototype (propiedad Object. en el caso de que se haya definido. Resumen de propiedades Modificadores Propiedad message:String name:String Descripción Contiene el mensaje asociado al objeto Error.

una función emite un error (con un mensaje especificado) si las dos cadenas que se pasan no son idénticas: function compareStrings(str1_str:String..toString()).isPropertyEnumerable).toString).addProperty).catch. } } try { compareStrings("Dog"."). } Véase también Sentencia throw. } catch (e_err:Error) { trace(e_err.Métodos heredados de la clase Object addProperty (método Object.Una cadena asociada al objeto Error. registerClass (método Object.valueOf). watch (método Object. Ejemplo En el ejemplo siguiente. isPrototypeOf (método Object. unwatch (método Object. str2_str:String):Void { if (str1_str != str2_str) { throw new Error("Strings do not match.registerClass).finally Error 339 . // salida: Strings do not match.isPrototypeOf). toString (método Object. hasOwnProperty (método Object.. "dog"). su valor se asigna a la propiedad Error. Parámetros message:String [opcional] . isPropertyEnumerable (método Object. Sentencia try. Si se especifica message.unwatch).watch) Constructor Error public Error([message:String]) Crea un nuevo objeto Error. valueOf (método Object.hasOwnProperty).message del objeto.

Se mostrarán errores específicos sin intenta dividir entre 0 o sólo introduce un parámetro: function divideNum(num1:Number. una función emite un mensaje especificado según los parámetros introducidos en theNum. se mostrarán SUCCESS y el número. } else if (num2 == 0) { throw new Error("cannot divide by zero. Puede especificar una propiedad message cuando cree un objeto Error pasando la cadena de error a la función constructora Error. num2:Number):Number { if (isNaN(num1) || isNaN(num2)) { throw new Error("divideNum function requires two numeric parameters. Ejemplo En el ejemplo siguiente. trace("\t"+e_err.").").finally 340 Clases de ActionScript . Sentencia try. } Si comprueba este código ActionScript sin ninguna modificación en los números que divide. De manera predeterminada.message) public message : String Contiene el mensaje asociado al objeto Error.message)..message (propiedad Error. aparecerá un error en el panel Salida porque está intentando dividir entre 0. } try { var theNum:Number = divideNum(1. } catch (e_err:Error) { trace("ERROR! "+e_err. el valor de esta propiedad es "Error".catch. Véase también Sentencia throw. trace("SUCCESS! "+theNum). Si pueden dividirse dos números.. } return num1/num2. 0).name).

toString()). 0). el valor de esta propiedad es "Error". denominator:Number):Number { if (isNaN(numerator) || isNaN(denominator)) { throw new Error("divideNum function requires two numeric parameters.as y guarde el archivo de clase en el mismo directorio que el documento FLA. } return numerator/denominator. // salida: DivideByZeroError -> Unable to divide by zero.".name+" -> "+e_err.finally Error 341 .catch."). class DivideByZeroError extends Error { var name:String = "DivideByZeroError". } catch (e_err:DivideByZeroError) { // error de división por cero trace(e_err. var message:String = "Unable to divide by zero.name) public name : String Contiene el nombre del objeto Error..name (propiedad Error. } Véase también Sentencia throw. una función emite un error especificado según los dos números que se intentan dividir..toString()). Ejemplo En el ejemplo siguiente. } Para añadir un error personalizado. } catch (e_err:Error) { // error genérico trace(e_err. añada el código siguiente a un archivo . De manera predeterminada.AS llamado DivideByZeroError.name+" -> "+e_err. Sentencia try. trace("SUCCESS! "+theNum). Añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: function divideNumber(numerator:Number. } try { var theNum:Number = divideNumber(1. } else if (denominator == 0) { throw new DivideByZeroError().

en el caso de que se haya definido.toString) public toString() : String Devuelve la cadena "Error" de manera predeterminada o el valor contenido en Error. Ejemplo En el ejemplo siguiente.Una cadena. una función emite un error (con un mensaje especificado) si las dos cadenas que se pasan no son idénticas: function compareStrings(str1_str:String. Sentencia try."). } } try { compareStrings("Dog". // salida: Strings do not match.catch.toString (método Error.message). } catch (e_err:Error) { trace(e_err. Valor devuelto String .finally 342 Clases de ActionScript . "dog").. str2_str:String):Void { if (str1_str != str2_str) { throw new Error("Strings do not match. } Véase también message (propiedad Error. Sentencia throw.message.toString())..

break. case Key. Ejemplo El siguiente ejemplo crea un detector al que se llama cuando se pulsa una tecla. } } myListener.ENTER: trace("enter down"). Véase también getCode (método Key. myListener. Utiliza el método Key.getCode().ExtendedKey Object | +-ExtendedKey public class ExtendedKey extends Object Proporciona códigos de tecla ampliados que se pueden devolver desde el método Key.getCode() para obtener el código de tecla de la tecla presionada: var myListener = new Object(). break.getCode(). } Key.onKeyDown = function() { var code = Key. case ExtendedKey.addListener(myListener).onKeyUp = function() { text2 = "onKeyUp called".getCode) ExtendedKey 343 .SOFT1: trace("soft1 down"). default : trace(code + " down"). break. switch(code) { case 50: trace("number 2 down"). break.

Valor del código de tecla para la tecla programable SOFT11. Valor del código de tecla para la tecla programable SOFT7. Valor del código de tecla para la tecla programable SOFT5. prototype (propiedad Object. __proto__ (propiedad Object.Resumen de propiedades Modificadores Propiedad static SOFT1:String Descripción Valor del código de tecla para la tecla programable SOFT1. Valor del código de tecla para la tecla programable SOFT12. Valor del código de tecla para la tecla programable SOFT9.__proto__). Valor del código de tecla para la tecla programable SOFT4. Valor del código de tecla para la tecla programable SOFT8.__resolve) 344 Clases de ActionScript .prototype). static SOFT10:String static SOFT11:String static SOFT12:String static SOFT2:String static SOFT3:String static SOFT4:String static SOFT5:String static SOFT6:String static SOFT7:String static SOFT8:String static SOFT9:String Propiedades heredadas de la clase Object constructor (propiedad Object.constructor). __resolve (propiedad Object. Valor del código de tecla para la tecla programable SOFT6. Valor del código de tecla para la tecla programable SOFT10. Valor del código de tecla para la tecla programable SOFT2. Valor del código de tecla para la tecla programable SOFT3.

isPrototypeOf (método Object. } } Key.onKeyDown = function() { var keyCode = Key. break.addListener(myListener). SOFT2 siempre corresponde a la tecla programable izquierda. isPropertyEnumerable (método Object. toString (método Object.SOFT2: // Gestiona la tecla programable izquierda. valueOf (método Object.SOFT10) public static SOFT10 : String Valor del código de tecla para la tecla programable SOFT10. case ExtendedKey. SOFT10 (propiedad ExtendedKey.SOFT1: // Gestiona la tecla programable izquierda. hasOwnProperty (método Object.getCode(). switch (keyCode) { case ExtendedKey.watch) SOFT1 (propiedad ExtendedKey.toString). Ejemplo El siguiente ejemplo crea un detector que gestiona las teclas programables izquierda y derecha: var myListener:Object = new Object().SOFT1) public static SOFT1 : String Valor del código de tecla para la tecla programable SOFT1. ExtendedKey 345 .hasOwnProperty).isPropertyEnumerable). El código de tecla SOFT1 siempre corresponde a la tecla programable izquierda.addProperty).valueOf). break.registerClass).unwatch).Resumen de métodos Métodos heredados de la clase Object addProperty (método Object.isPrototypeOf). unwatch (método Object. registerClass (método Object. myListener. watch (método Object.

SOFT1 siempre corresponde a la tecla programable izquierda.SOFT11) public static SOFT11 : String Valor del código de tecla para la tecla programable SOFT11. Véase también SOFT1 (propiedad ExtendedKey. SOFT5 (propiedad ExtendedKey. El código de tecla SOFT2 siempre corresponde a la tecla programable derecha.SOFT11 (propiedad ExtendedKey.SOFT5) public static SOFT5 : String Valor del código de tecla para la tecla programable SOFT5.SOFT6) public static SOFT6 : String Valor del código de tecla para la tecla programable SOFT6.SOFT1) SOFT3 (propiedad ExtendedKey.SOFT4) public static SOFT4 : String Valor del código de tecla para la tecla programable SOFT4.SOFT3) public static SOFT3 : String Valor del código de tecla para la tecla programable SOFT3. 346 Clases de ActionScript . SOFT4 (propiedad ExtendedKey. SOFT6 (propiedad ExtendedKey.SOFT12) public static SOFT12 : String Valor del código de tecla para la tecla programable SOFT12. SOFT2 (propiedad ExtendedKey.SOFT2) public static SOFT2 : String Valor del código de tecla para la tecla programable SOFT2. SOFT12 (propiedad ExtendedKey.

SOFT7 (propiedad ExtendedKey. __resolve (propiedad Object.SOFT9) public static SOFT9 : String Valor del código de tecla para la tecla programable SOFT9. __proto__ (propiedad Object. Resumen de propiedades Propiedades heredadas de la clase Object constructor (propiedad Object. Function Object | +-Function public dynamic class Function extends Object Tanto las funciones definidas por el usuario como las funciones incorporadas de ActionScript se representan mediante objetos Function.SOFT7) public static SOFT7 : String Valor del código de tecla para la tecla programable SOFT7.constructor). que son instancias de la función Function.prototype).SOFT8) public static SOFT8 : String Valor del código de tecla para la tecla programable SOFT8. SOFT9 (propiedad ExtendedKey.__proto__). SOFT8 (propiedad ExtendedKey.__resolve) Function 347 . prototype (propiedad Object.

Objeto al que se aplica myFunction. toString (método Object. isPropertyEnumerable (método Object.unwatch). [opcional] . 348 Clases de ActionScript . Suele ser útil cuando no se conoce el número de parámetros hasta que se ejecuta el script. watch (método Object.toString).registerClass). Devuelve el valor que la función llamada especifica como valor de devolución.valueOf).apply) public apply(thisObject:Object.isPropertyEnumerable).Matriz cuyos elementos se pasan a myFunction como parámetros. registerClass (método Object. Valor devuelto Cualquier valor especificado por la función llamada. que especifica los parámetros como una lista separada por comas. apply(thisObject:Obj Especifica el valor de thisObject que debe utilizarse call(thisObject:Obje Invoca la función representada por un objeto Function. [parameter1:Object]) Métodos heredados de la clase Object addProperty (método Object.addProperty).Resumen de métodos Modificadores Firma ect. isPrototypeOf (método Object. es también un método de todos los objetos Function de ActionScript.hasOwnProperty). unwatch (método Object. a diferencia de Function. Los parámetros se especifican como objeto Array. Dado que apply() es un método de la clase Function.watch) apply (método Function. valueOf (método Object.isPrototypeOf). Este método también especifica parámetros que deben pasarse a la función llamada. ct. [argArray:Array]) Descripción dentro de cualquier función a la que llame ActionScript.call(). [argArray:Array]) Especifica el valor de thisObject que debe utilizarse dentro de cualquier función a la que llame ActionScript. Parámetros thisObject:Object argArray:Array . hasOwnProperty (método Object.

3).b.apply(myObj. "b". "b". 0) Math.2.b. theFunction. // salida: // this == myObj? true // argumentos: a.2. "c").c Function 349 .firstArray). } // crea una instancia de un objeto var myObj:Object = new Object().secondArray).3 // utiliza apply() para establecer el valor de this en myObj y enviar secondArray theFunction.firstArray).atan2(1.2. [1. // produce como resultado: 1. theFunction.apply(myObj.apply(null. } // crea una nueva matriz para pasarla como parámetro a apply() var firstArray:Array = new Array(1.atan2.3 // crea una segunda matriz para pasarla como parámetro a apply() var secondArray:Array = new Array("a". // produce como resultado a.2.c El ejemplo siguiente muestra cómo apply() pasa una matriz de parámetros y especifica el valor de ésta: // define una función function theFunction() { trace("this == myObj? " + (this == myObj)). trace("arguments: " + arguments).apply(null. var secondArray:Array = new Array("a".apply(null. // utiliza apply() para establecer el valor de this en myObj y enviar firstArray theFunction.Ejemplo Las siguientes invocaciones de función son equivalentes: Math.3).secondArray). "c"). 0]) El sencillo ejemplo siguiente muestra cómo apply() pasa una matriz de parámetros: function theFunction() { trace(arguments). // crea matrices para pasarlas como parámetro a apply() var firstArray:Array = new Array(1. // salida: // this == myObj? true // argumentos: 1.

Cada función de ActionScript se representa mediante un objeto Function. 1. el parámetro thisObject se establece en myObject dentro del cuerpo de la función. En algunos casos. 3).sin. 3). [parameter1:Object]) Invoca la función representada por un objeto Function. las llamadas de función siguientes son equivalentes: Math. 350 Clases de ActionScript . como se muestra en el siguiente ejemplo: myObject. por ejemplo. Puede pasar el valor null para el parámetro thisObject para invocar una función como función regular y no como un método de un objeto.sin(Math.myMethod.call(myOtherObject. 2. si debe invocarse una función como un método de un objeto. Por ejemplo.call) public call(thisObject:Object. Parámetros thisObject:Object . 2. pero en realidad no se almacena como método de dicho objeto: myObject. es posible que desee que thisObject haga referencia a otro elemento.myMethod(1. parameter1:Object [opcional] .Véase también call (método Function. Math.PI / 4) Math.Objeto que especifica el valor de thisObject en el cuerpo de la función.Un parámetro que se pasa a myFunction. El operador de llamada de función hace que el código sea conciso y legible. Puede especificar cero o más parámetros. de modo que todas las funciones admiten este método. si se invoca una función como método de un objeto.call(null. Normalmente. Este método es de gran utilidad cuando debe controlarse explícitamente el parámetro thisObject de la llamada de función. En casi todos los casos puede utilizarse el operador de llamada de función (()) en lugar de este método.PI / 4) Devuelve el valor que la función llamada especifica como valor de devolución.call) call (método Function.

Utilice los métodos de la clase Key para crear una interfaz que un usuario pueda controlar con un teclado estándar. sin almacenar la función en el objeto: function myObject() { } function myMethod(obj) { trace("this == obj? " + (this == obj)). } var obj:Object = new myObject(). obj).call(obj. Las propiedades de la clase Key son constantes que representan las teclas más utilizadas en las aplicaciones de control. myMethod. Véase también ExtendedKey Resumen de propiedades Modificadores Propiedad static BACKSPACE:Number Descripción El valor de código de tecla asociado a la tecla Retroceso (8). El valor de código de tecla asociado a la tecla Bloq Mayús (20).Ejemplo El ejemplo siguiente utiliza Function.call() para hacer que una función se comporte como un método de otro objeto. La sentencia trace() muestra: this == obj? true Véase también apply (método Function.apply) Key Object | +-Key public class Key extends Object La clase Key es una clase de nivel superior cuyos métodos y propiedades se pueden utilizar sin emplear un constructor. como las teclas de flecha AvPág y RePág. static CAPSLOCK:Number Key 351 .

El valor de código de tecla asociado a la tecla Esc (27). El valor de código de tecla asociado a la tecla de flecha derecha (39). El valor de código de tecla asociado a la tecla Supr (46). El valor de código de tecla asociado a la tecla Fin (35). El valor de código de tecla asociado a la tecla AvPág (34). El valor de código de tecla asociado a la tecla Inicio (36). El valor de código de tecla asociado a la tecla Intro (13). El valor de código de tecla asociado a la tecla Tabulador (9). El valor de código de tecla asociado a la tecla Insert (45).Modificadores Propiedad static CONTROL:Number Descripción El valor de código de tecla asociado a la tecla Control (17). El valor de código de tecla asociado a la tecla Barra espaciadora (32). El valor de código de tecla asociado a la tecla de flecha abajo (40). Una lista de las referencias a todos los objetos detectores registrados con el objeto Key. static DELETEKEY:Number static DOWN:Number static END:Number static ENTER:Number static ESCAPE:Number static HOME:Number static INSERT:Number static LEFT:Number static _listeners:Array [read-only] static PGDN:Number static PGUP:Number static RIGHT:Number static SHIFT:Number static SPACE:Number static TAB:Number static UP:Number 352 Clases de ActionScript . El valor de código de tecla asociado a la tecla de flecha arriba (38). El valor de código de tecla asociado a la tecla Mayús (16). El valor de código de tecla asociado a la tecla de flecha izquierda (37). El valor de código de tecla asociado a la tecla RePág (33).

isPrototypeOf).isPropertyEnumerable). Key. Se notifica cuando se suelta una tecla. valueOf (método Object. especificada en code. __resolve (propiedad Object.valueOf). static isDown(code:Number) Devuelve true si está presionada la tecla : Boolean static removeListener(list Elimina un objeto registrado previamente con ener:Object) : Boolean Métodos heredados de la clase Object addProperty (método Object.watch) Key 353 . registerClass (método Object. isPrototypeOf (método Object. toString (método Object. __proto__ (propiedad Object. watch (método Object.addListener().__resolve) Resumen de eventos Evento onKeyDown = function() {} onKeyUp = function() {} Descripción Se notifica cuando se presiona una tecla.hasOwnProperty). false en caso contrario.Propiedades heredadas de la clase Object constructor (propiedad Object.prototype).__proto__). hasOwnProperty (método Object. prototype (propiedad Object.addProperty). isPropertyEnumerable (método Object.constructor). Resumen de métodos Modificadores Firma static r:Object) : Void static Descripción onKeyDown y onKeyUp.registerClass). addListener(listene Registra un objeto para recibir notificación de getAscii() : Number Devuelve el código ASCII de la última tecla static getCode() : Number Devuelve el valor de código de la última tecla presionada.unwatch).toString). unwatch (método Object. presionada o soltada.

onKeyUp). Véase también getCode (método Key. Ejemplo onKeyDown En el ejemplo siguiente se crea un nuevo objeto detector y se define una función para y onKeyUp.removeListener) 354 Clases de ActionScript .Un objeto con métodos onKeyDown y onKeyUp.onKeyDown). removeListener (método Key.onKeyDown = function() { trace ("You pressed a key.onKeyUp = function() { trace ("You released a key. myListener. onKeyUp (detector de eventos Key."). En la última línea se utiliza addListener() para registrar el detector con el objeto Key de modo que se pueda recibir notificación de los eventos que se producen al presionar y soltar teclas. } myListener. onKeyDown (detector de eventos Key.addListener (método Key. } Key. Puede haber varios objetos a la escucha de notificaciones de teclado. se invocará el método onKeyUp u onKeyDown de todos los objetos que estén a la escucha registrados con addListener(). var myListener:Object = new Object()."). Si el detector ya se ha registrado.getCode).addListener) public static addListener(listener:Object) : Void Registra un objeto para recibir notificación de onKeyDown y onKeyUp.isDown). isDown (método Key. no se producirá ningún cambio. Parámetros listener:Object .addListener(myListener). con independencia de donde se encuentre la selección de entrada del teclado. Cuando se presiona o se suelta una tecla.

onKeyDown = function() { if (Key.CAPSLOCK) public static CAPSLOCK : Number El valor de código de tecla asociado a la tecla Bloq Mayús (20). CAPSLOCK (propiedad Key. En la última línea se utiliza addListener() para registrar el detector con el objeto Key de modo que se pueda recibir notificación de los eventos que se producen al presionar teclas. keyListener. Key 355 .isDown(Key.BACKSPACE)) { trace("you pressed the Backspace key.").BACKSPACE (propiedad Key.BACKSPACE) public static BACKSPACE : Number El valor de código de tecla asociado a la tecla Retroceso (8). var keyListener:Object = new Object(). Ejemplo En el ejemplo siguiente se crea un nuevo objeto detector y se define una función para onKeyDown.addListener(keyListener). } else { trace("you DIDN'T press the Backspace key. seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. CONTROL (propiedad Key. } }. Cuando utilice este ejemplo.CONTROL) public static CONTROL : Number El valor de código de tecla asociado a la tecla Control (17). Key.").

Cuando utilice este ejemplo. 0x99CC00. } updateAfterEvent(). mouseListener. mouseListener. this.drawing = false. 356 Clases de ActionScript .BACKSPACE)) { canvas_mc.getNextHighestDepth()).isDown(Key.onMouseDown = function() { this. Presione la tecla Retroceso o Suprimir para eliminar la líneas que haya dibujado. _ymouse). Key. canvas_mc.lineTo(_xmouse. Ejemplo El ejemplo siguiente permite dibujar líneas con el puntero del ratón utilizando la interfaz API de dibujo y objetos detectores. }.onMouseUp = function() { this. }. canvas_mc. }. 100). seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba.drawing) { canvas_mc.addListener(keyListener).addListener(mouseListener). Mouse.drawing = true. _ymouse). keyListener. mouseListener.DELETEKEY (propiedad Key. // var keyListener:Object = new Object(). this.moveTo(_xmouse.createEmptyMovieClip("canvas_mc".clear().onKeyDown = function() { if (Key.onMouseMove = function() { if (this.isDown(Key.DELETEKEY) public static DELETEKEY : Number El valor de código de tecla asociado a la tecla Supr (46).DELETEKEY) || Key.lineStyle(3. var mouseListener:Object = new Object(). } }.

horn_sound.RIGHT : car_mc. case Key. Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc hasta una distancia constante (10) al presionar las teclas de flecha.start()._x -= DISTANCE.DOWN (propiedad Key. Se reproduce un sonido cuando se presiona la Barra espaciadora.END) public static END : Number El valor de código de tecla asociado a la tecla Fin (35). var horn_sound:Sound = new Sound().getCode()) { case Key.LEFT : car_mc. } }. Key 357 . asigne a un sonido de la biblioteca el identificador de vinculación horn_id. break.DOWN : car_mc. case Key.onKeyDown = function() { switch (Key. break. break. case Key. END (propiedad Key. break. break.UP : car_mc.DOWN) public static DOWN : Number El valor de código de tecla asociado a la tecla de flecha abajo (40). keyListener_obj.SPACE : horn_sound. var DISTANCE:Number = 10._x += DISTANCE. Key._y += DISTANCE. Para este ejemplo._y -= DISTANCE.attachSound("horn_id"). var keyListener_obj:Object = new Object(). case Key.addListener(keyListener_obj).

ENTER (propiedad Key. case Key. seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. }.onEnterFrame = function() { this. var keyListener:Object = new Object().onEnterFrame = function() { this. break. case Key.onEnterFrame = function() { this. 358 Clases de ActionScript . break.onEnterFrame = function() { this._y -= DISTANCE.addListener(keyListener).onEnterFrame. La instancia car_mc se detiene al presionar Intro y eliminar el evento onEnterFrame. case Key. } }.onKeyDown = function() { switch (Key._y += DISTANCE.UP : car_mc. break. }._x -= DISTANCE. Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc hasta una distancia constante (10) al presionar las teclas de flecha._x += DISTANCE. break. Key. }. Cuando utilice este ejemplo.RIGHT : car_mc. keyListener.ENTER) public static ENTER : Number El valor de código de tecla asociado a la tecla Intro (13). var DISTANCE:Number = 5. case Key. break.DOWN : car_mc. }.ENTER: delete car_mc.LEFT : car_mc.getCode()) { case Key.

Devuelve el valor ASCII de la última tecla presionada. Cuando presione la tecla Esc. Key 359 . Este método devuelve 0 si no se ha presionado ni soltado ninguna tecla. keyListener.ESCAPE)) { // obtiene el temporizador actual. Los valores ASCII devueltos son los correspondientes a un teclado inglés.ESCAPE (propiedad Key.onKeyDown = function() { if (Key. si presiona Mayús+2. var keyListener:Object = new Object(). o si no se puede acceder al código ASCII por motivos de seguridad. Cuando utilice este ejemplo.isDown(Key.addListener(keyListener).ESCAPE) public static ESCAPE : Number El valor de código de tecla asociado a la tecla Esc (27). Key. el panel Salida muestra información que incluye el tiempo que ha tardado en presionar la tecla.getAscii) public static getAscii() : Number Devuelve el código ASCII de la última tecla presionada o soltada. Por ejemplo. Valor devuelto Number . var timer:Number = Math.getAscii() devolverá @ en un teclado japonés. que es el mismo resultado que en un teclado inglés. trace("you pressed the Esc key: "+getTimer()+" ms ("+timer+" s)").round(getTimer()/10)/100. convierte el valor a segundos y lo redondea a dos posiciones decimales. seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. getAscii (método Key. Key. Ejemplo En el ejemplo siguiente se define un temporizador. } }.

addListener(keyListener). keyListener.getAscii()). Key.onKeyDown = function() { trace("The ASCII code for the last key typed is: "+Key. }.getCode()). según el código de tecla pasado en la plataforma. En el ejemplo siguiente se añade una llamada a Key. Cuando utilice este ejemplo. seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. La principal diferencia es que Key. Después se registra el objeto keyListener en el objeto Key. Los únicos códigos de teclas válidos son los códigos estándar que acepta esta clase y los códigos especiales que se muestran como propiedades de la clase ExtendedKey. var keyListener:Object = new Object(). 360 Clases de ActionScript .getAscii()).Ejemplo En el ejemplo siguiente se llama al método getAscii() siempre que se presiona una tecla.onKeyDown = function() { trace("For the last key typed:").getAscii() distingue entre caracteres en mayúsculas y en minúsculas.getAscii(). mientras que Key. keyListener. trace("\tThe Key code is: "+Key.getCode() no hace distinciones. En el ejemplo se crea un objeto detector denominado keyListener y se define una función que responde al evento onKeyDown realizando una llamada a Key.getCode) public static getCode() : Number Devuelve el valor de código de la última tecla presionada. getCode (método Key. que difunde el mensaje onKeyDown siempre que se presione una tecla durante la reproducción del archivo SWF. Key. Nota: la implementación de Flash Lite de este método devuelve una cadena o un número. Cuando utilice este ejemplo. trace("\tThe ASCII value is: "+Key. var keyListener:Object = new Object().getAscii() para señalar la diferencia entre los métodos getAscii() y getCode(). }. trace("").addListener(keyListener).

addListener(keyListener).getCode()+" (ENTER key)"). seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. } }.getAscii()).getCode()). trace("\tThe Key code is: "+Key.addListener(keyListener).Valor devuelto Number . seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. La principal diferencia es que Key. mientras que Key.onKeyDown = function() { trace("For the last key typed:"). keyListener. trace("\tThe ASCII value is: "+Key. var keyListener:Object = new Object(). En el ejemplo se crea un objeto detector denominado keyListener y se define una función que responde al evento onKeyDown realizando una llamada a Key.onKeyDown = function() { // Compara el valor devuelto de getCode() con la constante if (Key. Después se registra el objeto keyListener en el objeto Key.getAscii() para señalar la diferencia entre los dos métodos. Véase también getAscii (método Key. keyListener. Cuando utilice este ejemplo. Ejemplo En el ejemplo siguiente se llama al método getCode() siempre que se presiona una tecla.getCode() no hace distinciones.getAscii() distingue entre caracteres en mayúsculas y en minúsculas. En el ejemplo siguiente se añade una llamada a Key. }.ENTER) { trace ("Virtual key code: "+Key. o si no se puede acceder al código de tecla por motivos de seguridad.El código de tecla de la última tecla presionada.getAscii) Key 361 .getCode().getCode()). } else { trace ("Virtual key code: "+Key. Key. Key.getCode() == Key. que difunde el mensaje onKeyDown siempre que se presione una tecla durante la reproducción del archivo SWF. Cuando utilice este ejemplo. Este método devuelve 0 si no se ha presionado ni soltado ninguna tecla. var keyListener:Object = new Object(). trace("").

Key. }. Ejemplo En el ejemplo siguiente se asocia un clip de película que se puede arrastrar denominado car_mc en las coordenadas x e y de 0. Cree un clip de película que tenga el identificador de vinculación car_id y agregue el siguiente código ActionScript al fotograma 1 de la línea de tiempo: this. "car_mc"._y = 0. keyListener.onKeyDown = function() { if (Key. car_mc.addListener(keyListener).HOME (propiedad Key. car_mc._x = 0.getNextHighestDepth(). var keyListener:Object = new Object(). Ejemplo En el ejemplo siguiente se crea un nuevo objeto detector y se define una función para onKeyDown.onPress = function() { this.onRelease = function() { this.attachMovie("car_id". 362 Clases de ActionScript . En la última línea se utiliza addListener() para registrar el detector con el objeto Key de modo que se pueda recibir notificación del evento que se produce al presionar la tecla y mostrar información en el panel Salida.onKeyDown = function() { if (Key. Key.HOME) public static HOME : Number El valor de código de tecla asociado a la tecla Inicio (36).stopDrag().").isDown(Key. } }. var keyListener:Object = new Object(). car_mc.0. }. INSERT (propiedad Key. car_mc vuelve a las coordenadas 0. this. _y:0}).addListener(keyListener).startDrag().isDown(Key. Cuando se presiona a la tecla Inicio.INSERT) public static INSERT : Number El valor de código de tecla asociado a la tecla Insert (45). keyListener.HOME)) { car_mc. {_x:0.INSERT)) { trace("You pressed the Insert key.0. } }.

false en caso contrario.isDown) public static isDown(code:Number) : Boolean Devuelve true si está presionada la tecla especificada en code. var DISTANCE:Number = 10. asigne a un sonido de la biblioteca el identificador de vinculación horn_id.RIGHT)) { this. break. Key 363 .El valor de código de tecla asignado a una tecla específica o una propiedad de clase Key asociada con una determinada tecla. Se reproduce un sonido cuando se presiona la Barra espaciadora. false en caso contrario. Valor devuelto Boolean .isDown (método Key. var keyListener_obj:Object = new Object(). horn_sound.LEFT)) { this.start().onKeyDown = function() { switch (Key. Parámetros code:Number .SPACE : horn_sound. LEFT (propiedad Key.attachSound("horn_id"). keyListener_obj.LEFT) public static LEFT : Number El valor de código de tecla asociado a la tecla de flecha izquierda (37). Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc hasta una distancia constante (10) al presionar las teclas de flecha.El valor true si está presionada la tecla especificada en code.isDown(Key._x += 10.getCode()) { case Key.onEnterFrame = function() { if (Key._x -= 10. } else if (Key. } }. var horn_sound:Sound = new Sound().isDown(Key. Ejemplo Con el script siguiente es posible controlar la ubicación de un clip de película (car_mc): car_mc. Para este ejemplo.

myListener.addListener(keyListener_obj).case Key. trace(Key._y += DISTANCE.onKeyDown = function() { 364 Clases de ActionScript ._x -= DISTANCE. case Key._listeners. } Key. Los objetos se añaden y quitan de esta matriz mediante llamadas a los métodos addListener() y removelistener(). break. Key. case Key. var myListener:Object = new Object()._listeners) public static _listeners : Array [read-only] Una lista de las referencias a todos los objetos detectores registrados con el objeto Key. Ejemplo En el ejemplo siguiente se muestra cómo utilizar la propiedad length para determinar el número de objetos detectores que están registrados actualmente en el objeto Key. aunque puede resultar útil para determinar el número de detectores registrados actualmente en el objeto Key. case Key.addListener(myListener).DOWN : car_mc. Esta propiedad es para uso interno. Posteriormente podrá definir una función para onKeyDown y utilizar addListener() para registrar el detector en el objeto Key."). break.length).RIGHT : car_mc. // Salida: 1 onKeyDown (detector de eventos Key. deberá crear un objeto detector._x += DISTANCE. keyListener. break.UP : car_mc. break._y -= DISTANCE.onKeyDown = function () { trace ("You pressed a key. _listeners (propiedad Key.LEFT : car_mc. } }. Para utilizar onKeyDown.onKeyDown) onKeyDown = function() {} Se notifica cuando se presiona una tecla. como se muestra en el siguiente ejemplo: var keyListener:Object = new Object().

Key. ya que varios detectores pueden recibir notificación de un solo evento.addListener(keyListener). keyListener.onKeyDown = function() { trace("DOWN -> Code: " + Key. }. Los detectores permiten que diversas partes del código cooperen.trace("DOWN -> Code: " + Key. Véase también addListener (método Key.getCode() + "\tACSII: " + Key. Posteriormente podrá definir una función para onKeyUp y utilizar addListener() para registrar el detector en el objeto Key.addListener) Key 365 . Key. Véase también addListener (método Key. Los detectores permiten que diversas partes del código cooperen.onKeyUp) onKeyUp = function() {} Se notifica cuando se suelta una tecla.onKeyUp = function() { trace("UP -> Code: " + Key. deberá crear un objeto detector.getAscii())).addListener(keyListener).getCode() + "\tACSII: " + Key. }. ya que varios detectores pueden recibir notificación de un solo evento.getAscii() + "\tKey: " + chr(Key. como se muestra en el siguiente ejemplo: var keyListener:Object = new Object().getCode() + "\tACSII: " + Key.onKeyUp = function() { trace("UP -> Code: " + Key. }.getAscii() + "\tKey: " + chr(Key.getCode() + "\tACSII: " + Key.getAscii() + "\tKey: " + chr(Key. keyListener.getAscii() + "\tKey: " + chr(Key.getAscii())).getAscii())).getAscii())). keyListener. Para utilizar onKeyUp. }.addListener) onKeyUp (detector de eventos Key.

PGDN (propiedad Key.isDown(Key.addListener(). keyListener._rotation += 5.PGDN)) { car_mc.addListener(keyListener).addListener(keyListener). Key. } }.PGUP)) { car_mc.PGDN) public static PGDN : Number El valor de código de tecla asociado a la tecla AvPág (34)._rotation -= 5.isDown(Key. keyListener.onKeyDown = function() { if (Key.PGDN)) { car_mc. } }. Parámetros listener:Object .PGUP)) { car_mc._rotation -= 5. } else if (Key.PGUP) public static PGUP : Number El valor de código de tecla asociado a la tecla RePág (33). PGUP (propiedad Key.isDown(Key. Ejemplo El ejemplo siguiente gira un clip de película denominado car_mc utilizando las teclas AvPág y RePág. var keyListener:Object = new Object(). Ejemplo El ejemplo siguiente gira un clip de película denominado car_mc utilizando las teclas AvPág y RePág. 366 Clases de ActionScript .onKeyDown = function() { if (Key.removeListener) public static removeListener(listener:Object) : Boolean Elimina un objeto registrado previamente con Key. var keyListener:Object = new Object().Un objeto. Key.isDown(Key._rotation += 5. } else if (Key. removeListener (método Key.

horn_sound. } }. case Key.Si el listener se ha eliminado correctamente. el método devolverá false._x += 10. se elimina el detector y car_mc ya no podrá moverse. Se reproduce un sonido cuando se presiona la Barra espaciadora.attachSound("horn_id"). Key. porque el listener no se encontraba en la lista de detectores del objeto Key).ESCAPE : Key. case Key. break. Key 367 .onKeyDown = function() { switch (Key.SPACE : horn_sound. var keyListener_obj:Object = new Object().removeListener(keyListener).start(). Si el no se ha eliminado correctamente (por ejemplo. Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc utilizando las teclas de flecha izquierda y derecha.getCode()) { case Key. break.LEFT : car_mc.getCode()) { case Key.onKeyDown = function() { switch (Key. Para este ejemplo.addListener(keyListener).RIGHT : car_mc. var DISTANCE:Number = 10. var keyListener:Object = new Object().Valor devuelto Boolean listener . asigne a un sonido de la biblioteca el identificador de vinculación horn_id. break. RIGHT (propiedad Key._x -= 10. var horn_sound:Sound = new Sound(). Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc hasta una distancia constante (10) al presionar las teclas de flecha. el método devolverá true.RIGHT) public static RIGHT : Number El valor de código de tecla asociado a la tecla de flecha derecha (39). keyListener_obj. Cuando se presiona la tecla Esc. keyListener.

Ejemplo El ejemplo siguiente cambia la escala de car_mc al presionar Mayús.isDown(Key._y += DISTANCE._xscale /= 2.RIGHT : car_mc. car_mc. case Key.isDown(Key._y -= DISTANCE. } }.SHIFT) public static SHIFT : Number El valor de código de tecla asociado a la tecla Mayús (16)._yscale /= 2. Key. } }.onKeyDown = function() { if (Key.CONTROL)) { car_mc. var keyListener:Object = new Object(). break.LEFT : car_mc.case Key._xscale = 2. break. 368 Clases de ActionScript .DOWN : car_mc.addListener(keyListener). } else if (Key. case Key. case Key. break.addListener(keyListener_obj).SHIFT)) { car_mc._yscale = 2. break.UP : car_mc._x -= DISTANCE. car_mc. SHIFT (propiedad Key. keyListener. Key._x += DISTANCE.

Para este ejemplo. keyListener_obj.addListener(keyListener_obj).start(). case Key.RIGHT : car_mc.attachSound("horn_id"). asigne a un sonido de la biblioteca el identificador de vinculación horn_id._y -= DISTANCE. var horn_sound:Sound = new Sound(). Key 369 .onKeyDown = function() { switch (Key._x += DISTANCE._y += DISTANCE._x -= DISTANCE. } }.LEFT : car_mc. Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc hasta una distancia constante (10) al presionar las teclas de flecha.SPACE) public static SPACE : Number El valor de código de tecla asociado a la tecla Barra espaciadora (32). break. Key.SPACE : horn_sound. horn_sound. case Key. break. var keyListener_obj:Object = new Object(). case Key. case Key. break.SPACE (propiedad Key. break. var DISTANCE:Number = 10.getCode()) { case Key. break. Se reproduce un sonido cuando se presiona la Barra espaciadora.UP : car_mc.DOWN : car_mc.

370 Clases de ActionScript .TAB) public static TAB : Number El valor de código de tecla asociado a la tecla Tabulador (9). Se reproduce un sonido cuando se presiona la Barra espaciadora. date_txt. 0.SPACE : horn_sound. var keyListener_obj:Object = new Object().getNextHighestDepth().autoSize = true. var horn_sound:Sound = new Sound().isDown(Key.UP) public static UP : Number El valor de código de tecla asociado a la tecla de flecha arriba (38). Para este ejemplo.toString().attachSound("horn_id"). this.LEFT : car_mc. keyListener._x -= DISTANCE. 22). horn_sound. 100. date_txt. seleccione siempre Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba.onKeyDown = function() { switch (Key.onKeyDown = function() { if (Key. Ejemplo El ejemplo siguiente crea un campo de texto y muestra la fecha en el campo de texto al presionar la tecla Tabulador. var keyListener:Object = new Object(). case Key. Cuando utilice este ejemplo. asigne a un sonido de la biblioteca el identificador de vinculación horn_id. Key.text = today_date. Ejemplo El ejemplo siguiente mueve un clip de película denominado car_mc hasta una distancia constante (10) al presionar las teclas de flecha.start(). var DISTANCE:Number = 10. keyListener_obj. 0.TAB)) { var today_date:Date = new Date().TAB (propiedad Key.getCode()) { case Key. this. } }. break. UP (propiedad Key.createTextField("date_txt".addListener(keyListener).

RIGHT : car_mc. } }. La principal diferencia entre la clase LoadVars y la clase XML estriba en que LoadVars transfiere pares de nombre y valor ActionScript. XML LoadVars 371 . en lugar de un árbol DOM XML almacenado en el objeto XML. break. send() y sendAndLoad() para comunicarse con un servidor. También le permite enviar variables concretas en lugar de todas las variables. lo que puede contribuir a que la aplicación sea más eficaz. LoadVars Object | +-LoadVars public dynamic class LoadVars extends Object Puede utilizar la clase LoadVars para obtener confirmación de que determinados datos se han cargado correctamente y para controlar el progreso de las descargas.addListener(keyListener_obj). La clase LoadVars es una alternativa a la función loadVariables() para la transferencia de variables entre una aplicación Flash y un servidor. Puede utilizar el controlador LoadVars. Key. break. onLoad (controlador LoadVars. utiliza los métodos load(). break.DOWN : car_mc. Véase también Función loadVariables. La clase LoadVars permite enviar todas las variables de un objeto a una URL y cargar todas las variables de una URL en un objeto. La clase LoadVars presenta las mismas restricciones de seguridad que la clase XML. case Key._x += DISTANCE.break.UP : car_mc. case Key. case Key.onLoad para asegurarse de que la aplicación se ejecute cuando se carguen datos y no antes. La clase LoadVars funciona de forma similar a la clase XML._y += DISTANCE._y -= DISTANCE.onLoad).

sendAndLoad().load() o LoadVars.Resumen de propiedades Modificadores Propiedad contentType:String Descripción El tipo MIME que se envía al servidor cuando se llama a LoadVars. prototype (propiedad Object. __proto__ (propiedad Object. 372 Clases de ActionScript . Valor booleano que indica si una operación load o sendAndLoad ha finalizado.load() o function(src:String servidor o cuando se produce un error mientras se están descargando function(success:Bo LoadVars. Resumen de métodos Modificadores Firma ader:Object. Devuelve el número de bytes descargados por LoadVars. : Void decode(queryString: Convierte la cadena variable en propiedades del String) : Void getBytesLoaded() : Number Descripción HTTP (como Content-Type o SOAPAction) addRequestHeader(he Añade o cambia los encabezados de peticiones headerValue:String) enviados con las acciones POST. el valor predeterminado es undefined (no definido).__proto__).sendAndLoad().__resolve) Resumen de eventos Evento onData = ) {} onLoad = olean) {} Descripción Se invoca cuando se han descargado completamente los datos del datos de un servidor. loaded:Boolean Propiedades heredadas de la clase Object constructor (propiedad Object.sendAndLoad(). __resolve (propiedad Object. Se invoca cuando ha finalizado una operación LoadVars. Resumen de constructores Firma LoadVars() Descripción Crea un objeto LoadVars. objeto LoadVars especificado.prototype).constructor).send() o LoadVars.

unwatch). hasOwnProperty (método Object. Si se realizan varias llamadas para establecer el mismo nombre de encabezado. se pasan dos cadenas al método: header y headerValue. target:Object. cada valor sucesivo reemplazará al valor establecido en la llamada anterior.valueOf). En la segunda sintaxis. analiza los datos de la variable y coloca las variables resultantes en my_lv.addProperty). Métodos heredados de la clase Object addProperty (método Object.isPrototypeOf). se pasa una matriz de cadenas. Descarga variables de la URL especificada. alternando los nombres de los encabezados y los valores de éstos.watch) addRequestHeader (método LoadVars. valueOf (método Object.load() o LoadVars. [method:String]) : Boolean toString() : String Devuelve una cadena que contiene todas las variables enumerables de my_lv.hasOwnProperty). en la URL especificada. send(url:String.sendAndLoad(). watch (método Object. [method:String]) : Boolean sendAndLoad(url:Str Coloca las variables contenidas en el objeto my_lv ing. En la primera sintaxis. isPropertyEnumerable (método Object. Envía las variables contenidas en el objeto my_lv a la URL especificada. target:String. en la codificación de contenido MIME application/x-www-formurlencoded.registerClass).isPropertyEnumerable). headerValue:String) : Void Añade o cambia los encabezados de peticiones HTTP (como Content-Type o SOAPAction) enviados con las acciones POST. LoadVars 373 . registerClass (método Object. unwatch (método Object. isPrototypeOf (método Object.Modificadores Firma getBytesTotal() : Number load(url:String) : Boolean Descripción Devuelve el total de bytes descargados por LoadVars.addRequestHeader) public addRequestHeader(header:Object.toString). toString (método Object.

El ejemplo siguiente crea una matriz headers que contiene dos encabezados HTTP alternativos y sus valores asociados.addRequestHeader("FLASH-UUID". Allowed. "'Foo'"). Max-Forwards. Public. Véase también addRequestHeader (método XML.com/mm/cgivars. var my_lv:LoadVars = new LoadVars().addRequestHeader(headers). Connection.0"].cfm". La matriz se pasa como un argumento a addRequestHeader().Una cadena o matriz de cadenas que representan un nombre de encabezado de petición HTTP. "POST"). Via. "X-ClientAppVersion". Transfer-Encoding. Parámetros header:Object . Proxy-Authorization. "41472"). El ejemplo siguiente crea un nuevo objeto LoadVars que añade un encabezado de petición denominado FLASH-UUID. "_blank". Host. Age.name = "Mort". "2.Los siguientes encabezados HTTP estándar no se pueden añadir ni cambiar con este método: Accept-Ranges. my_lv. my_lv. headerValue:String . my_lv.addRequestHeader) 374 Clases de ActionScript . Trailer. my_lv. URI. Content-Range. Content-Location.addRequestHeader("SOAPAction". Ejemplo El ejemplo siguiente añade un encabezado HTTP personalizado denominado SOAPAction con un valor de Foo al objeto my_lv: my_lv. El encabezado contiene una variable que el servidor puede comprobar. Content-Length. Retry-After. "text/plain". Locations.age = 26. Server. Last-Modified. my_lv.send("http://flash-mx.Una cadena que representa el valor asociado con header. Upgrade. Allow. Warning y WWW-Authenticate. ProxyAuthenticate. Vary. Range. ETag. TE. var headers = ["Content-Type".

onData.parseXML) LoadVars 375 .send() o LoadVars.decode() para analizar una cadena de variables.decode("name=Mort&score=250000"). } Véase también onData (controlador LoadVars. sendAndLoad (método LoadVars.contentType (propiedad LoadVars.onData utiliza internamente este método.sendAndLoad) decode (método LoadVars. Ejemplo El ejemplo siguiente crea un objeto LoadVars y muestra el tipo de contenido predeterminado de los datos enviados al servidor. //Convierte la cadena variable en propiedades my_lv.onData). Parámetros queryString:String . // salida: application/x-www-form-urlencoded Véase también send (método LoadVars. Si sustituye el controlador de eventos LoadVars.send). El controlador de eventos LoadVars.contentType). // Repite las propiedades de my_lv for (var prop in my_lv) { trace(prop+" -> "+my_lv[prop]). var my_lv:LoadVars = new LoadVars().Una cadena de consulta con codificación URL con pares nombre/valor.decode) public decode(queryString:String) : Void Convierte la cadena variable en propiedades del objeto LoadVars especificado.sendAndLoad().contentType) public contentType : String El tipo MIME que se envía al servidor cuando se llama a LoadVars. El valor predeterminado es application/x-www-form-urlencoded. trace(my_lv.toString()). parseXML (método XML. puede llamar explícitamente a LoadVars. Ejemplo El ejemplo siguiente rastrea las tres variables: // Crea un objeto LoadVars nuevo var my_lv:LoadVars = new LoadVars(). La mayoría de los usuarios no necesitan llamar a este método directamente. trace(my_lv.

if (success) { trace("LoadVars loaded successfully. Este método devuelve undefined si no hay ninguna operación de carga en curso o si no ha comenzado todavía ninguna operación de carga. 376 Clases de ActionScript . añada una instancia ProgressBar denominada loadvars_pb en el escenario.controls. Cuando pruebe el archivo de texto.getBytesTotal()). el ejemplo no funcionará correctamente porque. var lvBytesTotal:Number = my_lv. my_lv. if (lvBytesTotal != undefined) { trace("Loaded "+lvBytesLoaded+" of "+lvBytesTotal+" bytes. en el modo Probar película."). delete timer_mc.").getBytesTotal(). my_lv.load() de modo que el parámetro se refiera a un archivo de texto válido que utilice HTTP.setProgress(my_lv. añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: var loadvars_pb:mx."). 999).load("[place a valid URL pointing to a text file here]"). Valor devuelto Number . loadvars_pb. this. } else { trace("An error occurred while loading variables. Flash Player carga los archivos locales íntegramente. lvBytesTotal). Debe reemplazar el parámetro URL del comando LoadVars. } }.onEnterFrame = function() { var lvBytesLoaded:Number = my_lv.setProgress(lvBytesLoaded.onLoad = function(success:Boolean) { loadvars_pb. var my_lv:LoadVars = new LoadVars(). A continuación.createEmptyMovieClip("timer_mc". } }. timer_mc.load() o LoadVars.onEnterFrame. se muestran dos cosas en el panel Salida: si el archivo se carga correctamente y la cantidad de datos que se carga en el archivo SWF.mode = "manual". loadvars_pb. Ejemplo El ejemplo siguiente utiliza una instancia ProgressBar y un objeto LoadVars para descargar un archivo de texto. Para ver cómo funciona este código.getBytesLoaded().getBytesLoaded (método LoadVars.getBytesLoaded) public getBytesLoaded() : Number Devuelve el número de bytes descargados por LoadVars.getBytesLoaded().sendAndLoad().ProgressBar. my_lv. Si intenta utilizar este ejemplo para cargar un archivo local que resida en el disco duro.Un entero.

controls."). var my_lv:LoadVars = new LoadVars(). loadvars_pb.sendAndLoad) getBytesTotal (método LoadVars. Este método devuelve undefined si no hay ninguna operación en curso o si no ha comenzado ninguna operación de carga. sendAndLoad (método LoadVars. Valor devuelto Number .mode = "manual".getBytesLoaded().getBytesTotal(). if (lvBytesTotal != undefined) { trace("Loaded "+lvBytesLoaded+" of "+lvBytesTotal+" bytes.load() o LoadVars. 999).createEmptyMovieClip("timer_mc". Debe reemplazar el parámetro URL del comando LoadVars. Cuando pruebe el archivo de texto.onEnterFrame = function() { var lvBytesLoaded:Number = my_lv. el ejemplo no funcionará correctamente porque.load() de modo que el parámetro se refiera a un archivo de texto válido que utilice HTTP.sendAndLoad(). se muestran dos cosas en el panel Salida: si el archivo se carga correctamente y la cantidad de datos que se carga en el archivo SWF.getBytesTotal) public getBytesTotal() : Number Devuelve el total de bytes descargados por LoadVars. A continuación.Un entero. } }. añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: var loadvars_pb:mx. Ejemplo El ejemplo siguiente utiliza una instancia ProgressBar y un objeto LoadVars para descargar un archivo de texto. en el modo Probar película. añada una instancia ProgressBar denominada loadvars_pb en el escenario.load). Si intenta utilizar este ejemplo para cargar un archivo local que resida en el disco duro. Para ver cómo funciona este código. var lvBytesTotal:Number = my_lv. Flash Player carga los archivos locales íntegramente. si la descarga se inició pero el servidor no transmitió un content-length HTTP). loadvars_pb. Este método también devuelve undefined si el número total de bytes no se puede determinar (por ejemplo. lvBytesTotal). LoadVars 377 . this. timer_mc.Véase también load (método LoadVars.setProgress(lvBytesLoaded.ProgressBar.

").com. Por ejemplo. Los datos descargados deben tener el tipo de contenido MIME application/x-www-form-urlencoded. denominado someDomain.com. Las propiedades existentes en my_lv que tengan nombres diferentes a los de las variables descargadas no se eliminarán. Asimismo.com porque ambos archivos se encuentran en el mismo superdominio.load("[place a valid URL pointing to a text file here]").setProgress(my_lv. un archivo SWF situado en www.load(). url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada.com sólo puede cargar datos de fuentes que también se encuentren en www.my_lv.onEnterFrame. En archivos SWF de cualquier versión que se ejecuten en Flash Player 7 o posterior. puede colocar un archivo de política para distintos dominios en el servidor en el que se aloja el archivo SWF. Si desea cargar datos de un dominio diferente."). 378 Clases de ActionScript . Es el mismo formato que se utiliza en loadVariables(). Las propiedades existentes en my_lv que tengan los mismos nombres que las variables descargadas se sobrescribirán. Véase también load (método LoadVars.load).com puede cargar datos de fuentes situadas en store. analiza los datos de la variable y coloca las variables resultantes en my_lv.load) public load(url:String) : Boolean Descarga variables de la URL especificada. url debe estar exactamente en el mismo dominio. if (success) { trace("LoadVars loaded successfully.load().getBytesLoaded().someDomain. un archivo SWF situado en www.someDomain. Este método es similar a XML. En archivos SWF que se ejecuten en una versión del reproductor anterior a Flash Player 7. sendAndLoad (método LoadVars.sendAndLoad) load (método LoadVars.getBytesTotal()).someDomain. my_lv.onLoad = function(success:Boolean) { loadvars_pb.someDomain. } }. en archivos publicados para Flash Player 7. Esta es una acción asíncrona. my_lv. El superdominio puede obtenerse eliminando el componente situado más a la izquierda de la URL de un archivo. la distinción entre mayúsculas y minúsculas se admite para variables externas cargadas con LoadVars. delete timer_mc. } else { trace("An error occurred while loading variables. Por ejemplo.

Esta propiedad es similar a XML. el valor url debe pertenecer al mismo dominio que el archivo SWF. Véase también load (método XML.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo.txt").sendAndLoad(). Si la operación no ha finalizado o ha fallado con un error. loaded (propiedad LoadVars. la propiedad loaded continuará establecida en false. Utilice el controlador de eventos onLoad() para comprobar el estado de los datos cargados.php.helpexamples. Si el archivo SWF que realiza esta llamada se ejecuta en un navegador Web.load() o LoadVars. my_lv.fla de la carpeta de ejemplos de ActionScript de www.load). } else { trace("Error loading/parsing LoadVars.toString()). la propiedad loaded es true.onLoad = function(success:Boolean) { if (success) { trace(this. LoadVars 379 .onLoad) loaded (propiedad LoadVars.adobe. cuando finaliza la operación. Encontrará también un ejemplo en el archivo guestbook. Descargue y descomprima el archivo .false si no se pasa ningún parámetro (null). para ver más detalles."). Boolean Ejemplo El código siguiente define una función de controlador onLoad que emite una señal cuando se devuelven datos a la aplicación Flash desde un archivo de script PHP de servidor y carga los datos en passvars.Una cadena.com/flash/params. Cuando se inicia una operación LoadVars.Parámetros url:String . consulte la sección Descripción.loaded) public loaded : Boolean Valor booleano que indica si una operación load o sendAndLoad ha finalizado.loaded. el valor predeterminado es undefined (no definido). Valor devuelto .load("http://www. my_lv. } }. la URL desde la que se descargarán las variables. onLoad (controlador LoadVars.loaded). la propiedad loaded es false. true. var my_lv:LoadVars = new LoadVars().com/go/learn_fl_samples_es. en caso contrario.

com/flash/params.onLoad. }. La implementación predeterminada de LoadVars. onData (controlador LoadVars.load). Puede sustituir esta implementación predeterminada asignando una función personalizada a LoadVars. El valor del parámetro src pasado a la función asignada a LoadVars.onLoad a menos que lo haga en su implementación de LoadVars.sendAndLoad). Véase también load (método LoadVars.onData llama a LoadVars. Si el parámetro src tiene el valor undefined. Este controlador se invoca antes de que se analicen los datos.load("http://www.onData. por lo que puede utilizarse para llamar a una rutina de análisis personalizada en lugar de la incorporada en Flash Player. ello indica que se ha producido un error al descargar los datos del servidor. my_lv. pero no se llama a LoadVars.Ejemplo El ejemplo siguiente carga un archivo de texto y muestra información en el panel Salida al finalizar la operación.onData) onData = function(src:String) {} Se invoca cuando se han descargado completamente los datos del servidor o cuando se produce un error mientras se están descargando datos de un servidor.loaded). Ejemplo En el ejemplo siguiente se crea un objeto LoadVars denominado my_lv: var my_lv:LoadVars = new LoadVars().txt"). 380 Clases de ActionScript .helpexamples. load (método XML.onLoad = function(success:Boolean) { trace("LoadVars loaded successfully: "+this.onData. my_lv.load) Constructor LoadVars public LoadVars() Crea un objeto LoadVars.onData puede ser undefined (no definido) o una cadena que contenga los pares nombre-valor con codificación URL descargados del servidor. var my_lv:LoadVars = new LoadVars(). Posteriormente podrá utilizar los métodos de dicho objeto LoadVars para enviar y cargar los datos. sendAndLoad (método LoadVars.

sendAndLoad().txt".text = src. load (método LoadVars.onData = function(src:String) { if (src == undefined) { trace("Error loading content. Parámetros success:Boolean .load("content. my_lv. my_lv. "GET"). Ejemplo El ejemplo siguiente carga un archivo de texto y muestra su contenido en una instancia TextArea denominada content_ta al finalizar la operación.load() o LoadVars. } content_ta. onLoad (controlador LoadVars.sendAndLoad) onLoad (controlador LoadVars.Un valor booleano que indica si la operación de carga ha finalizado correctamente (true) o si ha fallado (false). my_lv se llena con las variables descargadas por la operación y dichas variables estarán disponibles cuando se invoque este controlador.sendAndLoad(). aparecerá información en el panel Salida.load() .onLoad. return. Véase también onLoad (controlador LoadVars. Si la operación se ha realizado correctamente.Parámetros src:String LoadVars."). Si se produce un error. los datos sin analizar de una llamada a un método o LoadVars. este controlador tiene el valor undefined (no definido).onLoad). Este controlador de eventos es similar a XML. De manera predeterminada. LoadVars 381 .onLoad).load).Una cadena o undefined. }.onLoad) onLoad = function(success:Boolean) {} Se invoca cuando ha finalizado una operación LoadVars. sendAndLoad (método LoadVars. var my_lv:LoadVars = new LoadVars(). my_lv.

submitListener.cfm.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo. Cuando un usuario hace clic en la instancia de botón Login en el ejemplo siguiente. loaded (propiedad LoadVars. } }.sendAndLoad("http://www.".name = name_ti. } else { result_ta.text. result_lv. "POST").click = function(evt:Object) { var result_lv:LoadVars = new LoadVars(). Para ver un ejemplo más complejo. var send_lv:LoadVars = new LoadVars(). send_lv.Ejemplo Para el ejemplo siguiente.loaded).com/mm/greeting. Véase también onLoad (controlador XML.text = result_lv.fla en www. El objeto send_lv copia el nombre de la instancia name_ti y envía los datos a greeting. submitListener). El resultado de este script se carga en el objeto result_lv y la respuesta del servidor aparece en la instancia TextArea (result_ta).sendAndLoad) 382 Clases de ActionScript . Descargue y descomprima el archivo . result_lv.load). load (método LoadVars. sendAndLoad (método LoadVars.onLoad = function(success:Boolean) { if (success) { result_ta.text = "Error connecting to server.cfm". una instancia TextArea denominada result_ta y una instancia Button denominada submit_button en el escenario. }. añada una instancia de TextInput denominada name_ti. submit_button.com/go/ learn_fl_samples_es. send_lv.welcomeMessage. se crean dos objetos LoadVars: send_lv y result_lv.addEventListener("click".onLoad). consulte el archivo login. Añada el siguiente código ActionScript en el fotograma 1 de la línea de tiempo: var submitListener:Object = new Object().flash-mx.adobe.

especifica una nueva ventana. todas las variables enumerables existentes en my_lv se concatenan en una cadena en el formato application/x-www-form-urlencoded y la cadena se coloca en la URL empleando el método HTTP POST. deberá utilizar LoadVars.send) public send(url:String. la ventana o marco del navegador en el que aparecerá la respuesta. ■ Una llamada correcta al método send() siempre abre una nueva ventana del navegador o reemplaza el contenido de una ventana o un marco existente. la función devolverá true. debe asegurarse de que intenta utilizarlo desde un navegador. la URL a la que se cargarán las variables. Parámetros url:String . De manera predeterminada. target:String . pero el script o aplicación no se ejecutará. El método send() resulta útil si se desea la respuesta del servidor para: ■ ■ ■ Reemplazar el contenido del SWF (utilice "_self" como parámetro de target). Que aparezca en una nueva ventana (utilice "_blank" como parámetro de target). Se utiliza el método POST a no ser que se especifique GET. Que aparezca en un marco sin nombre (utilice el nombre del marco como cadena para el parámetro target).sendAndLoad(). Debe especificar el parámetro target para asegurarse de que se ejecute el script o la aplicación de la URL especificada. Que aparezca en el marco superior o del nivel más alto (utilice "_parent" o "_top" como parámetro de target).send(). [method:String]) : Boolean Envía las variables contenidas en el objeto my_lv a la URL especificada. Es el mismo formato que utiliza loadVariables(). Puede introducir el nombre de una ventana específica o seleccionarlo de entre los siguientes nombres de destino reservados: "_self" ■ ■ especifica el fotograma actual en la ventana actual.Una cadena.Una cadena.send (método LoadVars. target:String. Si omite el parámetro target. El tipo de contenido MIME enviado en los encabezados de peticiones HTTP es el valor de my_lv.contentType o el valor predeterminado application/x-www-form-urlencoded. Si desea probar el método POST. El entorno de prueba de Flash siempre utiliza el método GET. Si prefiere enviar la información a un servidor y continuar reproduciendo el archivo SWF sin abrir una ventana nueva ni reemplazar el contenido de una ventana o un marco existente. "_blank" LoadVars 383 . Este método es similar a XML.

La respuesta del servidor se descarga. var my_lv:LoadVars = new LoadVars(). denominado someDomain.sendAndLoad). "_blank".playerScore = playerScore_txt.text. un archivo SWF situado en www. Ejemplo El ejemplo siguiente copia dos valores de campos de texto y envía los datos a un script CFM. El superdominio puede obtenerse eliminando el componente situado más a la izquierda de la URL de un archivo. target:Object.text.com puede cargar datos de fuentes situadas en store. send (método XML. Véase también sendAndLoad (método LoadVars. [method:String]) : Boolean Coloca las variables contenidas en el objeto my_lv en la URL especificada.send("setscore. se analiza como datos variables y las variables resultantes se colocan en el objeto target. Las variables se descargan en target de la misma forma que en el caso de LoadVars. "POST"). true en caso contrario. my_lv. method:String [opcional] .load().com.sendAndLoad) public sendAndLoad(url:String.someDomain. 384 Clases de ActionScript . Las variables se colocan de la misma forma que en el caso de LoadVars. false si no se especifica ningún parámetro. url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada.cfm". Por ejemplo. utilizado para manejar la información.playerName = playerName_txt. Valor devuelto Boolean .Un valor booleano.■ ■ "_parent" "_top" especifica el elemento principal del fotograma actual. Por ejemplo. el método GET o POST del protocolo HTTP. En archivos SWF que se ejecuten en una versión del reproductor anterior a Flash Player 7.com porque ambos archivos se encuentran en el mismo superdominio.Una cadena. El valor predeterminado es POST.send(). my_lv. el script puede comprobar si el usuario ha obtenido una alta puntuación e insertar los datos en una tabla de base de datos.send) sendAndLoad (método LoadVars. especifica el fotograma de nivel superior de la ventana actual.someDomain. my_lv.

submitListener. url:String target:Object .En archivos SWF de cualquier versión que se ejecuten en Flash Player 7 o posterior.welcomeMessage. "POST"). Por ejemplo. } }.Valor booleano.text = result_lv. la URL a la que se cargarán las variables. El resultado de este script se carga en el objeto result_lv y la respuesta del servidor aparece en la instancia TextArea (result_ta).text = "Error connecting to server.Una cadena. Ejemplo Para el ejemplo siguiente.text.". send_lv.com/mm/greeting. puede colocar un archivo de política para distintos dominios en el servidor en el que se aloja el archivo SWF. una instancia TextArea denominada result_ta y una instancia Button denominada submit_button en el escenario. Cuando un usuario hace clic en la instancia de botón Login en el ejemplo siguiente. Si desea cargar datos de un dominio diferente.Una cadena.com sólo puede cargar datos de fuentes que también se encuentren en www.cfm". Si el archivo SWF que realiza esta llamada se ejecuta en un navegador Web.onLoad = function(success:Boolean) { if (success) { result_ta. Añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: var submitListener:Object = new Object().com. Este método es similar a XML.flash-mx.El objeto LoadVars o XML que recibe las variables descargadas.someDomain. var send_lv:LoadVars = new LoadVars(). LoadVars 385 . se crean dos objetos LoadVars: send_lv y result_lv. el método GET o POST del protocolo HTTP. url debe estar exactamente en el mismo dominio. añada una instancia de TextInput denominada name_ti.cfm. send_lv. Valor devuelto Boolean .someDomain. method:String [opcional] . Parámetros .click = function(evt:Object) { var result_lv:LoadVars = new LoadVars().name = name_ti. } else { result_ta.sendAndLoad().sendAndLoad("http://www. El valor predeterminado es POST. un archivo SWF situado en www. result_lv. el valor url debe pertenecer al mismo dominio que el archivo SWF. result_lv. El objeto send_lv copia el nombre de la instancia name_ti y envía los datos a greeting.

my_lv. crea dos propiedades y utiliza toString() para devolver una cadena que contiene las dos propiedades en un formato URL codificado: var my_lv:LoadVars = new LoadVars(). en la codificación de contenido MIME application/x-www-form-urlencoded.sendAndLoad) toString (método LoadVars. //salida: age=26&name=Gary 386 Clases de ActionScript .name = "Gary".fla en www.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo.load).Una cadena.send). Ejemplo El ejemplo siguiente crea una instancia de un nuevo objeto LoadVars(). sendAndLoad (método XML.toString) public toString() : String Devuelve una cadena que contiene todas las variables enumerables de my_lv. my_lv.addEventListener("click". consulte el archivo login. Para ver un ejemplo más complejo.com/go/ learn_fl_samples_es. load (método LoadVars.}. Véase también send (método LoadVars. Valor devuelto String .age = 26. submit_button. Descargue y descomprima el archivo .adobe.toString()). trace (my_lv. submitListener).

PI/180) es lo mismo que Math. static LN10:Number static LN2:Number Math 387 . utilice la siguiente fórmula: radians = degrees * Math. expresada como loge2.constant.PI/180 A continuación se ofrece un ejemplo en el que se pasa la ecuación como parámetro para calcular el seno de un ángulo de 45°: Math.sin(. las constantes se definen con la máxima precisión de los números de coma flotante IEEE-754 de doble precisión. Constante matemática del logaritmo neperiano de 10. Varios métodos de la clase Math utilizan la medida de un ángulo en radianes como parámetro. con un valor aproximado de 2.Math Object | +-Math public class Math extends Object La clase Math es una clase de nivel superior cuyos métodos y propiedades puede utilizar sin emplear un constructor.method(parameter) o Math. Puede utilizar la siguiente ecuación para calcular el valor en radianes antes de llamar al método y luego proporcionar el valor calculado como parámetro. expresada como loge10.7854) Resumen de propiedades Modificadores Propiedad static E:Number Descripción Constante matemática de la base de los logaritmos neperianos expresada como número e.sin(45 * Math.6931471805599453. Para calcular un valor en radianes. En ActionScript. Utilice los métodos y propiedades de esta clase para acceder a las constantes y funciones matemáticas y manipularlas.302585092994046. con un valor aproximado de 0. o bien puede proporcionar toda la parte derecha de la ecuación (con la medida del ángulo en radianes en lugar de degrees) como el parámetro radian. Constante matemática del logaritmo neperiano de 2. Todos los métodos y propiedades de la clase Math son estáticos y deben llamarse utilizando la sintaxis Math.

con un valor aproximado de 3. con un valor aproximado de 1. expresada como log10e.prototype). __proto__ (propiedad Object. con un valor aproximado de 0. Calcula y devuelve el arco coseno del número especificado por el parámetro x.Modificadores Propiedad static LOG10E:Number Descripción Constante matemática del logaritmo en base 10 de la constante e (Math.__resolve) Resumen de métodos Modificadores Firma static abs(x:Number) : Number static acos(x:Number) : Number static asin(x:Number) : Number static Descripción Calcula y devuelve un valor absoluto para el número especificado por el parámetro x. static LOG2E:Number static PI:Number static SQRT1_2:Number static SQRT2:Number Propiedades heredadas de la clase Object constructor (propiedad Object. Constante matemática para la raíz cuadrada de 2.E). con un valor aproximado de 1. expresada como log2e. expresada como pi. en radianes. Constante matemática del logaritmo en base 2 de la constante e (Math. Calcula y devuelve el arco seno del número especificado por el parámetro x.442695040888963387.141592653589793. __resolve (propiedad Object.4142135623730951. prototype (propiedad Object.7071067811865476. con un valor aproximado de 0.E).4342944819032518.constructor). atan(tangent:Number Calcula y devuelve el valor en radianes del ángulo ) : Number 388 Clases de ActionScript . Constante matemática del radio de la circunferencia de un círculo con respecto a su diámetro.__proto__). en radianes. cuya tangente se especifica en el parámetro tangent. Constante matemática para la raíz cuadrada de un medio.

y:Number) : Number static min(x:Number.Modificadores Firma static atan2(y:Number. Calcula y devuelve la raíz cuadrada del número especificado. Redondea el valor del parámetro x hacia arriba o hacia abajo con el entero más próximo y devuelve el valor resultante. y:Number) : Number static pow(x:Number. y:Number) : Number static random() : Number static round(x:Number) : Number static sin(x:Number) : Number static sqrt(x:Number) : Number static tan(x:Number) : Number Math 389 . Calcula y devuelve x elevado a la potencia de y. Devuelve un número n seudo-aleatorio. static ceil(x:Number) : Number static cos(x:Number) : Number static exp(x:Number) : Number static floor(x:Number) : Number static log(x:Number) : Number static max(x:Number. x:Number) : Number Descripción Calcula y devuelve el ángulo del punto y/ x en radianes cuando se mide en sentido contrario al de las agujas del reloj desde el eje x de un círculo (siendo 0. Devuelve el valor redondeado a la baja del número o expresión especificada en el parámetro x. Devuelve el logaritmo del parámetro x. siendo 0 <= n < 1. Devuelve el valor de la base del logaritmo neperiano (e) elevado a la potencia del exponente especificado en el parámetro x. Calcula y devuelve la tangente del ángulo especificado. Calcula y devuelve el coseno del ángulo especificado en radianes. Calcula x e y y devuelve el valor mayor.0 el centro del círculo). Devuelve el valor redondeado al alza del número o expresión especificada. Calcula x e y y devuelve el valor más pequeño. Calcula y devuelve el seno del ángulo especificado en radianes.

valueOf). hasOwnProperty (método Object.Un número.Un número.0 y 1.acos) public static acos(x:Number) : Number Calcula y devuelve el arco coseno del número especificado por el parámetro x.abs(num). Parámetros x:Number . Parámetros x:Number . Valor devuelto Number .hasOwnProperty). // salida: -12 trace(numAbsolute). isPrototypeOf (método Object. toString (método Object.abs) public static abs(x:Number) : Number Calcula y devuelve un valor absoluto para el número especificado por el parámetro x. watch (método Object.isPropertyEnumerable). var numAbsolute:Number = Math. valueOf (método Object. // salida: 12 acos (método Math. el arco coseno del parámetro x. en radianes. isPropertyEnumerable (método Object.Métodos heredados de la clase Object addProperty (método Object.addProperty).watch) abs (método Math.abs() devuelve el valor absoluto de un número y no afecta al valor del parámetro x (denominado num en este ejemplo): var num:Number = -12.0.isPrototypeOf).registerClass). unwatch (método Object.unwatch). 390 Clases de ActionScript . trace(num).toString).Un número. Ejemplo El ejemplo siguiente muestra cómo Math. Valor devuelto Number . registerClass (método Object.Un número entre -1.

Valor devuelto Number .tan) atan (método Math. en radianes. trace(Math.sin). atan2 (método Math.tan) asin (método Math. // salida: 3. cos (método Math.atan2). Parámetros x:Number . tan (método Math. // salida: 1.asin(0)). sin (método Math.atan).Un número comprendido entre pi negativo dividido por 2 y pi positivo dividido por 2.asin(-1)).5707963267949 trace(Math. El valor devuelto está comprendido entre pi negativo dividido por 2 y pi positivo dividido por 2. atan2 (método Math.atan) public static atan(tangent:Number) : Number Calcula y devuelve el valor en radianes del ángulo cuya tangente se especifica en el parámetro tangent. Math 391 . tan (método Math.Un número entre -1.cos).acos(-1)).14159265358979 trace(Math. cos (método Math.5707963267949 Véase también acos (método Math. sin (método Math. // salida: 0 trace(Math. trace(Math.cos).asin) public static asin(x:Number) : Number Calcula y devuelve el arco seno del número especificado por el parámetro x. // salida: -1. // salida: 1. atan (método Math.acos(1)).0.acos(0)).sin).asin).atan2).asin(1)).0 y 1.5707963267949 trace(Math.Ejemplo El ejemplo siguiente muestra el arco coseno de varios valores. atan (método Math. // salida: 0 Véase también asin (método Math.atan). Ejemplo El ejemplo siguiente muestra el arco seno de varios valores.acos).

tan (método Math.Un número comprendido entre pi negativo dividido por 2 y pi positivo dividido por 2.atan(-1)).atan2(10.atan(0)).Un número. x:Number) : Number Calcula y devuelve el ángulo del punto y/ x en radianes cuando se mide en sentido contrario al de las agujas del reloj desde el eje x de un círculo (siendo 0.tan) atan2 (método Math.sin).Un número que representa la tangente de un ángulo. sin (método Math.5707963267949 392 Clases de ActionScript .785398163397448 Véase también acos (método Math. // salida: 0 trace(Math. 0)). Ejemplo El ejemplo siguiente muestra el valor de ángulo para varias tangentes. 10).atan2) public static atan2(y:Number.cos). // salida: 0. El valor devuelto está comprendido entre pi positivo y pi negativo. en radianes.Un número que especifica la coordenada x del punto. Parámetros y:Number x:Number . del punto especificado por las coordenadas (0. // salida: -0. de forma que x = 0 e y = 10. // salida: 1.0 el centro del círculo). trace(Math.atan(1)). atan2 (método Math. cos (método Math. Ejemplo El ejemplo siguiente devuelve el ángulo.atan2).acos). Valor devuelto Number .785398163397448 trace(Math. asin (método Math.Parámetros tangent:Number . . Observe que el primer parámetro de atan2 es siempre la coordenada y.asin). trace(Math.Un número que especifica la coordenada y del punto. Valor devuelto Number .

5).round) cos (método Math.tan) ceil (método Math.Un número que representa un ángulo medido en radianes. tan (método Math.cos) public static cos(x:Number) : Number Calcula y devuelve el coseno del ángulo especificado en radianes. el más próximo y mayor o igual que el parámetro x. atan (método Math. asin (método Math. Valor devuelto Number .sin). Para calcular un radián.atan). El valor redondeado al alza de un número es el número entero más cercano mayor o igual al número.Véase también acos (método Math. Math 393 .ceil(12.Un número o expresión. sin (método Math. al mismo tiempo.acos). round (método Math.Un entero que es. Number Ejemplo El código siguiente devuelve un valor de 13: Math.cos).Un número entre -1. cos (método Math. consulte la descripción incluida en la entrada de la clase Math. Valor devuelto . Parámetros x:Number .0 y 1.floor).ceil) public static ceil(x:Number) : Number Devuelve el valor redondeado al alza del número o expresión especificada. Véase también floor (método Math.asin).0. Parámetros x:Number .

tan (método Math.asin). // Ángulo de 90 grados.atan).828182845905 394 Clases de ActionScript . Véase también acos (método Math. trace ("Beginning principal: $" + principal).cos(0)).71828182845905. // Ángulo de 0 grados.principal. Ejemplo El ejemplo siguiente muestra cómo se puede utilizar Math. trace ("Simple interest after one year: $" + simpleInterest).Ejemplo El ejemplo siguiente muestra el coseno de varios ángulos diferentes. var continuouslyCompoundedInterest:Number = (100 * Math. atan2 (método Math.PI*2)). trace ("Continuously compounded interest after one year: $" + continuouslyCompoundedInterest). pero debido a la inherente falta de precisión de los cálculos decimales utilizando números binarios. El valor aproximado de e es 2. Salida: 1 Nota:el coseno de un ángulo de 90 grados es cero. Salida: 1 trace (Math.PI)).E) public static E : Number Constante matemática de la base de los logaritmos neperianos expresada como número e. Flash Player generará un número muy cercano pero que no es exactamente igual a cero. trace (Math. // Ángulo de 360 grados.acos).sin).cos(Math.E para calcular continuamente intereses compuestos en un sencillo caso de un interés del 100 por cien en un periodo de un año. var simpleInterest:Number = 100.atan2).cos(Math.E) . atan (método Math. // Ángulo de 180 grados.PI/2)). sin (método Math.12303176911189e-17 trace (Math. asin (método Math.tan) E (propiedad Math. // Salida: Beginning principal: $100 Simple interest after one year: $100 Continuously compounded interest after one year: $171.cos(Math. Salida: 6. Salida: -1 trace (Math. var principal:Number = 100.

El exponente. Parámetros x:Number . Math 395 .38905609893065 Véase también E (propiedad Math. Ejemplo El ejemplo siguiente muestra el logaritmo de dos números. Valor devuelto Number .E puede proporcionar el valor de e. al mismo tiempo. Parámetros x:Number .5).floor(12. el más próximo y menor o igual que el parámetro x. // salida: 2.Un número. trace(Math. El valor redondeado a la baja es el entero más cercano inferior o igual al número o expresión especificada.exp(1)). un número o expresión.5).El entero que es.71828182845905 trace(Math. Valor devuelto Number . El código siguiente devuelve un valor de -7: Math.Un número o expresión. La constante Math.exp(2)).exp) public static exp(x:Number) : Number Devuelve el valor de la base del logaritmo neperiano (e) elevado a la potencia del exponente especificado en el parámetro x.E) floor (método Math. Ejemplo El código siguiente devuelve un valor de 12: Math.floor) public static floor(x:Number) : Number Devuelve el valor redondeado a la baja del número o expresión especificada en el parámetro x.exp (método Math. // salida: 7.floor(-6.

LN10.log) public static log(x:Number) : Number Devuelve el logaritmo del parámetro x.LN10) public static LN10 : Number Constante matemática del logaritmo neperiano de 10. con un valor aproximado de 0.LN10).log(2)). // salida: 1 396 Clases de ActionScript . Ejemplo Este ejemplo rastrea el valor de Math.log(1)).E)). // salida: 0 trace(Math. trace(Math. expresada como loge10.LN10 (propiedad Math. Valor devuelto Number . // salida: -Infinity trace(Math. log (método Math. con un valor aproximado de 2.Devuelve el logaritmo del parámetro x.Un número o expresión con un valor mayor que 0. // salida: 2.log(0)). expresada como loge2.30258509299405 LN2 (propiedad Math. // salida: 0. Ejemplo El ejemplo siguiente muestra el logaritmo de tres números.6931471805599453.302585092994046.log(Math.LN2) public static LN2 : Number Constante matemática del logaritmo neperiano de 2. trace(Math.693147180559945 trace(Math. Parámetros x:Number .

log() calcula el logaritmo neperiano de un número. expresada como log10e.log() por Math. Parámetros x:Number y:Number . Ejemplo Este ejemplo muestra cómo obtener el logaritmo de base 2 de un número: trace(Math.max) public static max(x:Number.log(1000) * Math. con un valor aproximado de 1. // Salida: 4 max (método Math.log calcula el logaritmo neperiano de un número. con un valor aproximado de 0.4342944819032518. expresada como log2e.LOG2E para obtener el logaritmo de base 10.442695040888963387. El método Math. y:Number) : Number Calcula x e y y devuelve el valor mayor. // Salida: 3 LOG2E (propiedad Math.log(16) * Math. .E).LOG10E).Un número.LOG10E) public static LOG10E : Number Constante matemática del logaritmo en base 10 de la constante e (Math.LOG2E). El método Math. Multiplique el resultado de Math. Valor devuelto Number .log() por Math. Ejemplo Este ejemplo muestra cómo obtener el logaritmo de base 10 de un número: trace(Math.E). Math 397 .Un número o expresión.LOG10E (propiedad Math.Un número o expresión.LOG10E para obtener el logaritmo de base 10.LOG2E) public static LOG2E : Number Constante matemática del logaritmo en base 2 de la constante e (Math. Multiplique el resultado de Math.

25). var maxDate:Number = Math.Ejemplo El ejemplo siguiente muestra Thu Dec 30 00:00:00 GMT-0700 2004. 30).getTime()). trace(new Date(minDate). Parámetros x:Number y:Number . que es la menor de las expresiones evaluadas. var date1:Date = new Date(2004. trace(new Date(maxDate). date2. que es la mayor de las expresiones evaluadas. var date2:Date = new Date(2004.Un número o expresión.getTime()). . Ejemplo El ejemplo siguiente muestra Sat Dec 25 00:00:00 GMT-0700 2004.Un número. 11. var date1:Date = new Date(2004.getTime(). 11. var date2:Date = new Date(2004. 11.max(date1. Valor devuelto Number .max) 398 Clases de ActionScript .min(date1.Un número o expresión.toString()). 30).getTime(). Véase también max (método Math.toString()). Véase también min (método Math. y:Number) : Number Calcula x e y y devuelve el valor más pequeño. 25).min) min (método Math.min) public static min(x:Number. var minDate:Number = Math. 11. date2.

PI/8)*r+x.PI/4)*r+y).tan(Math.curveTo(-r+x. mc. mc. x:Number.PI/8)*r+x.lineStyle(2.Un número que especifica la potencia a la que se eleva el parámetro x. Math.sin(Math. y:Number) : Number Calcula y devuelve x elevado a la potencia de y.curveTo(Math.curveTo(-Math. Math. -r+y.PI/8)*r+y.PI/4)*r+x. Math.tan(Math. y:Number.PI/8)*r+y.PI/4)*r+x. r+y). -Math.sin(Math. r+y. r:Number):Void { mc.Un número elevado a una potencia. y).PI/4)*r+x.PI (propiedad Math. drawCircle(this.sin(Math.PI/8)*r+x. mc. Parámetros x:Number y:Number .PI/8)*r+x. Math.sin(Math. Math.tan(Math. -r+y).PI/4)*r+x. Valor devuelto Number .PI/8)*r+y.PI) public static PI : Number Constante matemática del radio de la circunferencia de un círculo con respecto a su diámetro.PI/8)*r+y. expresada como pi.tan(Math.curveTo(Math. mc. -Math.Un número.curveTo(r+x.sin(Math. con un valor aproximado de 3. -r+y.curveTo(-Math. 100). r+y. // function drawCircle(mc:MovieClip. 100.PI/4)*r+y). Math.sin(Math. . x. y). mc. mc.moveTo(x+r. -Math.PI/4)*r+y).curveTo(-r+x.curveTo(r+x. Math.141592653589793. 0xFF0000.tan(Math. y). 50).tan(Math. } pow (método Math. r+x. x. Math.tan(Math. mc.pow) public static pow(x:Number. mc. -r+x.sin(Math.tan(Math.sin(Math. Math 399 .PI/4)*r+y). Ejemplo El ejemplo siguiente dibuja un círculo utilizando la constante matemática pi y la API de dibujo. mc. -Math. 100.

onMouseUp = function() { this. Mouse.Un número. this. El número devuelto es seudoaleatorio porque no se genera mediante un verdadero fenómeno aleatorio natural.origY-22.pow(line_mc.newY).newX.origY = _ymouse.moveTo(this.createTextField("length"+nextDepth+"_txt". var minY = Math.min(this. 100).origY). random (método Math. this.origX = _xmouse.getNextHighestDepth(). 22).text = Math. line_mc. var line_mc:MovieClip = canvas_mc. Valor devuelto Number . this. this.origX. 0x000000.random() * (max ._width. 11) trace(n). var mouseListener:Object = new Object(). line_mc['length'+nextDepth+'_txt'].newY). como una caída radioactiva. this.lineStyle(2. this.onMouseDown = function() { this. canvas_mc.pow(line_mc. var hypLen:Number = Math. 2)). max:Number):Number { var randomNum:Number = Math.Ejemplo El ejemplo siguiente utiliza Math.round(hypLen) +" pixels". line_mc.random) public static random() : Number Devuelve un número n seudo-aleatorio. siendo 0 <= n < 1. line_mc.createEmptyMovieClip("line"+nextDepth+"_mc"._height. mouseListener. Ejemplo El siguiente ejemplo obtiene 100 enteros aleatorios entre 4 y 11 (inclusive): function randRange(min:Number.sqrt(Math. i<100. }. this. }.lineTo(this. nextDepth).sqrt para calcular la longitud de una línea. this. } 400 Clases de ActionScript .getNextHighestDepth()). return randomNum. var nextDepth:Number = canvas_mc. this. } for (var i = 0.min + 1)) + min.addListener(mouseListener).floor(Math. 100.createEmptyMovieClip("canvas_mc". line_mc.newX = _xmouse. 2)+Math.origY.newY = _ymouse.pow y Math. i++) { var n:Number = randRange(4.getNextHighestDepth(). mouseListener.origX.

random() * (max-min+1) + (min.0). i++) { trace(randRange(4. Parámetros x:Number . Math 401 . un entero. max:Number):Number { var randomNum:Number = Math. 11)). return randomNum.0 y 1.sin) public static sin(x:Number) : Number Calcula y devuelve el seno del ángulo especificado en radianes.ceil). function randRange(min:Number. el valor se redondea al alza con el siguiente entero mayor.5)).5).floor) sin (método Math. Ejemplo El ejemplo siguiente devuelve un número aleatorio comprendido entre dos enteros especificados. Para calcular un radián. Parámetros x:Number . Si el parámetro x es equidistante de los dos enteros más próximos a él (es decir.round(Math. } Véase también ceil (método Math. Valor devuelto Number . el seno del ángulo especificado (entre -1.Un número. Valor devuelto Number .Un número.round) public static round(x:Number) : Number Redondea el valor del parámetro x hacia arriba o hacia abajo con el entero más próximo y devuelve el valor resultante. i<25.Un número.Un número que representa un ángulo medido en radianes. floor (método Math. que el número termina en . consulte la descripción incluida en la entrada de la clase Math. } for (var i = 0.round (método Math.

sin(Math.PI/4)*r+x. -r+y.sin(Math.PI/4)*r+y). -Math.PI/4)*r+x.tan(Math. r+x.moveTo(x+r.curveTo(Math.Un número si el parámetro x es mayor o igual a cero. 100).cos).atan). x. Math.Un número o expresión mayor o igual que 0.PI/4)*r+x. y:Number.curveTo(r+x.asin). y). mc.PI/8)*r+x.tan(Math. -Math.PI/4)*r+y). x:Number.PI/8)*r+x. -r+y).Ejemplo El ejemplo siguiente dibuja un círculo utilizando la constante matemática pi. 0xFF0000. Math.atan2). Math. r+y.tan) sqrt (método Math.curveTo(-r+x. y). 100. x. mc. 100. Math.PI/4)*r+y).PI/4)*r+x. r+y).curveTo(-Math.PI/4)*r+y). NaN (no es un número). 50).acos). Math.curveTo(r+x.PI/8)*r+y. -Math. Math. mc.sin(Math. } Véase también acos (método Math. asin (método Math. -Math.PI/8)*r+x.tan(Math. // function drawCircle(mc:MovieClip.PI/8)*r+y.tan(Math. tan (método Math. -r+y. cos (método Math. y).curveTo(Math. -r+x. mc.sin(Math. atan2 (método Math. mc. 402 Clases de ActionScript .sin(Math.PI/8)*r+x. r:Number):Void { mc. mc.PI/8)*r+y.tan(Math. Math.curveTo(-Math.curveTo(-r+x.sin(Math.tan(Math. mc.lineStyle(2. el seno de un ángulo y la API de dibujo drawCircle(this. r+y.tan(Math.sqrt) public static sqrt(x:Number) : Number Calcula y devuelve la raíz cuadrada del número especificado.tan(Math.sin(Math.sin(Math. Valor devuelto Number . en caso contrario.PI/8)*r+y. Math. mc. atan (método Math. mc. Parámetros x:Number .

sqrt(Math..getNextHighestDepth().origX. 0x000000.getNextHighestDepth().origY-22.createTextField("length"+nextDepth+"_txt". line_mc['length'+nextDepth+'_txt'].getNextHighestDepth()). this. Ejemplo Este ejemplo rastrea el valor de Math.round(hypLen) +" pixels".origY = _ymouse.7071067811865476. var hypLen:Number = Math. 2)).newX = _xmouse. trace(Math.pow(line_mc. var mouseListener:Object = new Object(). this.sqrt para calcular la longitud de una línea. // Salida: 0.SQRT1_2.707106781186548 Math 403 . nextDepth).addListener(mouseListener). 2)+Math.origY. var line_mc:MovieClip = canvas_mc. canvas_mc. this. 100.min(this. this.SQRT1_2) public static SQRT1_2 : Number Constante matemática para la raíz cuadrada de un medio. mouseListener. this.lineStyle(2.newY = _ymouse. var nextDepth:Number = canvas_mc. 22).createEmptyMovieClip("canvas_mc".origX.moveTo(this. }. line_mc. var minY = Math.origX = _xmouse.pow y Math.createEmptyMovieClip("line"+nextDepth+"_mc".lineTo(this. this.newY)._width. line_mc. con un valor aproximado de 0.onMouseDown = function() { this.pow(line_mc. line_mc. line_mc. }.onMouseUp = function() { this.origY). SQRT1_2 (propiedad Math.newY).text = Math. this. this.newX. this. Mouse. 100).Ejemplo El ejemplo siguiente utiliza Math. mouseListener._height.SQRT1_2).

-r+y. r+x.PI/4)*r+x. mc. tangente del parámetro x.curveTo(-Math.PI/8)*r+x.curveTo(-Math.sin(Math. Math.PI/4)*r+y). 50). y).curveTo(-r+x.PI/4)*r+y). // Salida: 1.PI/8)*r+x.PI/4)*r+x. x. -r+y. 100).SQRT2 (propiedad Math.Un número que representa un ángulo medido en radianes.PI/4)*r+y).sin(Math. Math.sin(Math.PI/4)*r+x.PI/8)*r+x.PI/8)*r+y. r+y.lineStyle(2. Para calcular un radián. // function drawCircle(mc:MovieClip.curveTo(Math. Ejemplo El ejemplo siguiente dibuja un círculo utilizando la constante matemática pi.PI/8)*r+x. mc.PI/4)*r+x. -r+y). y). mc.tan(Math. Math.tan(Math.sin(Math. con un valor aproximado de 1.curveTo(r+x. la tangente de un ángulo y la API de dibujo.tan(Math.SQRT2). mc. -r+x. -Math.4142135623730951. Parámetros x:Number . y:Number.curveTo(-r+x.PI/8)*r+y.PI/8)*r+y.tan(Math.sin(Math.SQRT2. r:Number):Void { mc. 100. Math. x:Number. x.sin(Math. mc. 100. Math. } 404 Clases de ActionScript .tan(Math. r+y.tan) public static tan(x:Number) : Number Calcula y devuelve la tangente del ángulo especificado. mc. mc. -Math.tan(Math.Un número.PI/4)*r+y).curveTo(Math. drawCircle(this.tan(Math. trace(Math.SQRT2) public static SQRT2 : Number Constante matemática para la raíz cuadrada de 2. -Math.tan(Math.sin(Math. 0xFF0000.PI/8)*r+y. utilice la información descrita en la introducción a la clase Math.curveTo(r+x. Ejemplo Este ejemplo rastrea el valor de Math. -Math. mc.sin(Math.4142135623731 tan (método Math. Math.. Valor devuelto Number . Math. r+y). y). mc.moveTo(x+r. Math.

Resumen de propiedades Propiedades heredadas de la clase Object constructor (propiedad Object. Mouse 405 . atan (método Math. Puede utilizar los métodos de la clase Mouse para añadir y eliminar detectores y para gestionar eventos de ratón. __resolve (propiedad Object.capabilities.asin).prototype). Nota: los miembros de esta clase se admiten en Flash Lite sólo si System.cos). asin (método Math.acos).sin) Mouse Object | +-Mouse public class Mouse extends Object La clase Mouse es una clase de nivel superior a cuyos métodos y propiedades puede acceder sin emplear un constructor. cos (método Math.__proto__).atan).hasMouse es true o System.atan2). prototype (propiedad Object.capabilities. Se notifica cuando se mueve el ratón. __proto__ (propiedad Object.constructor).hasStylus es true.Véase también acos (método Math. Se notifica cuando se suelta el botón del ratón.__resolve) Resumen de eventos Evento onMouseDown = function() {} onMouseMove = function() {} onMouseUp = function() {} Descripción Se notifica cuando se presiona el botón del ratón. sin (método Math. atan2 (método Math.

watch (método Object. Parámetros listener:Object . toString (método Object.capabilities. Puede haber varios objetos a la escucha de notificaciones de ratón. Cuando el botón del ratón se presiona. isPrototypeOf (método Object.Un objeto. onMouseMove y onMouseUp. valueOf (método Object. hasOwnProperty (método Object.isPropertyEnumerable). addListener(). registerClass (método Object.hasOwnProperty). con independencia de cuál sea la selección de entrada. se suelta o se utiliza para desplazamiento.Resumen de métodos Modificadores Firma static r:Object) : Void Descripción detectores onMouseDown. onMouseMove u onMouseUp de todos los objetos a la escucha que estén registrados con este método.registerClass).toString).watch) addListener (método Mouse.capabilities. El parámetro listener debe contener un objeto que tenga un método definido al menos para uno de los detectores.unwatch). Nota: este evento se admite en Flash Lite sólo si System.hasStylus es true. onMouseMove y onMouseUp. se invocará el método onMouseDown.valueOf). addListener(listene Registra un objeto para recibir notificaciones de los static removeListener(list Elimina un objeto registrado previamente con ener:Object) : Boolean Métodos heredados de la clase Object addProperty (método Object. 406 Clases de ActionScript .isPrototypeOf).hasMouse es true o System. unwatch (método Object. Si el detector ya se ha registrado.addProperty).addListener) public static addListener(listener:Object) : Void Registra un objeto para recibir notificaciones de los detectores onMouseDown. se mueve. no se producirá ningún cambio. isPropertyEnumerable (método Object.

fla de la carpeta de ejemplos de ActionScript._x = _xmouse.onMouseDown).zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo.onMouseDown) onMouseDown = function() {} Se notifica cuando se presiona el botón del ratón. crosshair_mc.onMouseUp) onMouseDown (detector de eventos Mouse.addListener(someListener). Véase también onMouseDown (detector de eventos Mouse. Mouse. mouseListener. Mouse. como se muestra en el siguiente código: var someListener:Object = new Object(). false)) { _global.com/go/learn_fl_samples_es.onMouseDown = function() { if (bg_mc. onMouseMove (detector de eventos Mouse. } }. // Al pulsar el botón del ratón. // Crea un objeto detector de ratón. actualizar la posición de la instancia del clip de película crosshair en el escenario. comprueba si el cursor se encuentra dentro de los límites del escenario. Posteriormente podrá definir una función para onMouseDown y utilizar addListener() para registrar el detector en el objeto Mouse. }.. Si es así.adobe. consulte el archivo animation.fla de la carpeta de ejemplos de ActionScript en www. Para utilizar el detector onMouseDown. }. onMouseUp (detector de eventos Mouse.onMouseMove). debe crear un objeto detector.Ejemplo Este ejemplo está extraído del archivo animation. aumentar el número de tomas. // Cada vez que se desplaza el cursor del ratón en el archivo SWF.._y = _ymouse. mouseListener. _ymouse.onMouseDown = function () { . Descargue y descomprima el archivo .onMouseMove = function() { crosshair_mc. Mouse 407 .addListener(mouseListener).shots++.hitTest(_xmouse. Para ver el script completo. var mouseListener:Object = new Object(). someListener.

this. this. this.target_mc.onMouseUp = function() { this. this. }. }.lineTo(this. Mouse.capabilities. this.isDrawing = false.target_mc.lineStyle(1.target_mc.hasMouse es true o System. this. Véase también addListener (método Mouse. mouseListener. 100).onMouseDown = function() { this.target_mc. mouseListener.isDrawing = true. Ejemplo El siguiente ejemplo utiliza la API de dibujo para trazar un rectángulo cuando el usuario pulsa el botón del ratón.moveTo(this.clear(). this.target_mc.orig_x. this.Los detectores permiten que diversas partes del código cooperen.createEmptyMovieClip("canvas_mc". } updateAfterEvent(). _ymouse).orig_x.onMouseMove = function() { if (this.capabilities. this.lineTo(this.lineTo(_xmouse. var mouseListener:Object = new Object(). this. lo suelta en tiempo de ejecución.target_mc = canvas_mc. Nota: este detector de eventos se admite en Flash Lite sólo si System.orig_x = _xmouse.addListener(mouseListener). this.orig_y = _ymouse.isDrawing) { this. canvas_mc.target_mc.orig_y). ya que varios detectores pueden recibir notificación de un solo evento. después.lineTo(_xmouse.orig_y).hasStylus es true. mouseListener.orig_x.getNextHighestDepth()). this.getNextHighestDepth()). }. this.orig_y).createEmptyMovieClip("". this.target_mc.addListener) 408 Clases de ActionScript . 0xFF0000. lo desplaza y. _ymouse).

someListener. this. canvas_mc. 100). El usuario dibuja una línea desplazando el puntero. ya que varios detectores pueden recibir notificación de un solo evento.onMouseUp = function() { this.getNextHighestDepth()).capabilities. debe crear un objeto detector. Mouse. Posteriormente podrá definir una función para onMouseMove y utilizar addListener() para registrar el detector en el objeto Mouse. 0xFF0000.onMouseMove (detector de eventos Mouse. canvas_mc. mouseListener.onMouseMove = function () { . _ymouse).isDrawing) { canvas_mc.createEmptyMovieClip("canvas_mc".hasMouse es true. Nota: este detector de eventos se admite en Flash Lite sólo si System..addListener(mouseListener).onMouseDown = function() { this. }. como se muestra en el siguiente código: var someListener:Object = new Object(). mouseListener.moveTo(_xmouse. Para utilizar el detector onMouseMove. } updateAfterEvent(). }..lineStyle(2. }.addListener(someListener). }.isDrawing = false.isDrawing = true.lineTo(_xmouse. Los detectores permiten que diversas partes del código cooperen. Ejemplo El ejemplo siguiente utiliza el puntero del ratón como herramienta para dibujar líneas con onMouseMove y la interfaz API de dibujo. Mouse 409 . var mouseListener:Object = new Object().onMouseMove = function() { if (this. mouseListener.onMouseMove) onMouseMove = function() {} Se notifica cuando se mueve el ratón. Mouse. this. _ymouse).

}. mouseListener. debe crear un objeto detector. 410 Clases de ActionScript . this.capabilities. pointer_mc.onMouseUp = function () { .hasMouse es true o System. Los detectores permiten que diversas partes del código cooperen. Para utilizar el detector onMouseUp._y = _ymouse. ya que varios detectores pueden recibir notificación de un solo evento.onMouseUp) onMouseUp = function() {} Se notifica cuando se suelta el botón del ratón.capabilities. añada el siguiente código ActionScript al fotograma 1 de la línea de tiempo: this. var mouseListener:Object = new Object(). A continuación. El dispositivo debe admitir un lápiz stylus o un ratón para que el ejemplo funcione. var mouseListener:Object = new Object(). como se muestra en el siguiente código: var someListener:Object = new Object()._x = _xmouse.. this. }. mouseListener. this. Nota: este detector de eventos se admite en Flash Lite sólo si System. Mouse.addListener(mouseListener). Posteriormente podrá definir una función para onMouseUp y utilizar addListener() para registrar el detector en el objeto Mouse. El usuario dibuja una línea desplazando el puntero y deja de trazarla soltando el botón del ratón. "pointer_mc".getNextHighestDepth()).getNextHighestDepth()).addListener(someListener). Mouse.onMouseMove = function() { pointer_mc.hasStylus es true.createEmptyMovieClip("canvas_mc". cree un clip de película y establezca su identificador de vinculación en pointer_id.isDrawing = true. someListener. Ejemplo El ejemplo siguiente utiliza el puntero del ratón como herramienta para dibujar líneas con onMouseMove y la interfaz API de dibujo.onMouseDown = function() { this..addListener) onMouseUp (detector de eventos Mouse.attachMovie("pointer_id". Véase también addListener (método Mouse.El siguiente ejemplo establece las posiciones x e y de la instancia del clip de película pointer_mc en las posiciones x e y del puntero. Para utilizar el ejemplo.

lineStyle(2. Nota: este evento se admite en Flash Lite sólo si System.isDrawing = false.capabilities. Un botón borra todas las líneas del archivo SWF. de modo que el usuario puede volver a dibujar líneas. mouseListener. Mouse.isDrawing) { canvas_mc.lineTo(_xmouse.hasMouse es true o System.onMouseUp = function() { this.removeListener) public static removeListener(listener:Object) : Boolean Elimina un objeto registrado previamente con addListener().addListener(mouseListener). Ejemplo El ejemplo siguiente asocia tres botones al escenario y permite que el usuario dibuje líneas en el archivo SWF con el puntero del ratón en tiempo de ejecución. Parámetros listener:Object . Mouse 411 . Valor devuelto Boolean . this. {_x:10.Un objeto. Véase también addListener (método Mouse. } updateAfterEvent(). El segundo botón elimina el detector del ratón.getNextHighestDepth(). el método devolverá true. label:'clear'}). }.canvas_mc. el método devolverá false. mouseListener. Añada el código ActionScript siguiente al fotograma 1 de la línea de tiempo: this. El tercer botón añade el detector del ratón cuando se ha eliminado.capabilities. _y:10.createClassObject(mx.addListener) removeListener (método Mouse.Button.Si el objeto detector se elimina correctamente. 100). }. si el objeto detector no se elimina correctamente (por ejemplo. "clear_button". canvas_mc.onMouseMove = function() { if (this.hasStylus es true.controls. si el objeto detector no se encontraba en la lista de detectores del objeto Mouse). 0xFF0000.moveTo(_xmouse. }. _ymouse). _ymouse). por lo que el usuario no puede dibujar líneas.

moveTo(_xmouse. startDrawing_button.this. "stopDrawing_button".Button. }.lineTo(_xmouse. this. // this. _ymouse). mouseListener.lineStyle(2. label:'start drawing'}). evt.createClassObject(mx. this.addEventListener("click".onMouseUp = function() { this.addEventListener("click".enabled = false.getNextHighestDepth(). this. var mouseListener:Object = new Object(). stopDrawingListener). startDrawingListener). {_x:120. clearListener. }. stopDrawing_button.click = function(evt:Object) { Mouse.controls. clearListener). 100).removeListener(mouseListener). }. mouseListener.addListener(mouseListener).onMouseDown = function() { this. "startDrawing_button".createClassObject(mx.isDrawing = false.isDrawing = true.enabled = false.target.addEventListener("click".Button. startDrawingListener. canvas_mc.getNextHighestDepth(). clear_button. }. var startDrawingListener:Object = new Object(). canvas_mc. mouseListener.click = function(evt:Object) { Mouse.enabled = true. }.click = function() { canvas_mc. _y:10.clear(). Mouse. var clearListener:Object = new Object(). 0xFF0000. } updateAfterEvent(). this.createEmptyMovieClip("canvas_mc". evt. // var stopDrawingListener:Object = new Object(). 412 Clases de ActionScript .target. _ymouse).enabled = true.onMouseMove = function() { if (this. startDrawing_button. startDrawing_button. _y:10.addListener(mouseListener). label:'stop drawing'}).isDrawing) { canvas_mc. stopDrawingListener.enabled = false.controls. {_x:230. stopDrawing_button. }.getNextHighestDepth()).

gotoAndPlay(3).play(). _currentframe:Number Devuelve el número del fotograma en el que está [read-only] _droptarget:String [read-only] enabled:Boolean MovieClip 413 . Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. donde my_mc es una instancia de clip de película: my_mc. Resumen de propiedades Modificadores Propiedad _alpha:Number Descripción Valor de transparencia alfa del clip de película. Para crear nuevo un clip de película no tendrá que utilizar un método constructor. El método createEmptyMovieClip() permite crear una nueva instancia vacía de clip de película como elemento secundario de otro clip de película. Valor booleano que indica si un clip de película está activado. situada la cabeza lectora en la línea de tiempo del clip de película. debe hacer referencia a las instancias de clip de película por su nombre y utilizar la siguiente sintaxis. my_mc. También existen métodos adicionales que carecen de acciones equivalentes en el cuadro de herramientas Acciones del panel Acciones. El método duplicateMovieClip() permite crear una instancia de clip de película basada en otro clip de película. ■ ■ Para llamar a los métodos de la clase MovieClip. Es posible elegir entre tres métodos para crear nuevas instancias de clip de película: ■ El método attachMovie() permite crear una nueva instancia de clip de película basada en un símbolo de clip de película que existe en la biblioteca. Devuelve la ruta absoluta en notación de sintaxis con barras de la instancia de clip de película en la que se ha colocado dicho clip de película.MovieClip Object | +-MovieClip public dynamic class MovieClip extends Object Los métodos de la clase MovieClip proporcionan la misma funcionalidad que las acciones que van dirigidas a clips de película.

expresada en píxeles. Establece o recupera la calidad de representación que se utiliza para un archivo SWF. un clip de _focusrect:Boolean Valor booleano que especifica si un clip de película debe mostrar un rectángulo amarillo a su alrededor cuando tiene la selección de entrada. expresado en grados. Referencia al clip de película u objeto que contiene el clip de película u objeto actual. Designa otro clip de película para que actúe como área activa de un clip de película. Especifica el nivel de visualización suavizada que se aplica al archivo SWF actual. focusEnabled:Boolean Si el valor es undefined o false. flujo de archivo SWF. Especifica el giro del clip de película.Modificadores Propiedad Descripción película no puede quedar resaltado a menos que sea un botón. Un valor booleano que especifica a qué hace referencia _root cuando se carga un archivo SWF en un clip de película. Permite personalizar el orden de tabulación de los objetos de una película. Desfasadadesde Flash Player 7. con respecto a su orientación original. Especifica si el clip de película se incluye en el orden de tabulación automático. tabEnabled:Boolean tabIndex:Number 414 Clases de ActionScript . Altura del clip de película._quality. Esta propiedad está desfasada y en su lugar debe utilizarse MovieClip. debe acumularse previamente en el búfer antes de que comience a reproducirse sin interrupción. Nombre de instancia del clip de película. _framesloaded:Number Número de fotogramas que se han cargado de un [read-only] _height:Number _highquality:Number hitArea:Object _lockroot:Boolean _name:String _parent:MovieClip _quality:String _rotation:Number _soundbuftime:Number Especifica el número de segundos que un sonido tabChildren:Boolean Determina si los elementos secundarios de un clip de película se incluyen en el orden de tabulación automático.

constructor). Valor booleano que indica si un clip de película está visible.Devuelve la ruta de destino de la instancia de clip [read-only] trackAsMenu:Boolean _url:String [read- only] _visible:Boolean _width:Number _x:Number _xmouse:Number [read. only] _yscale:Number Establece la escala vertical (percentage) del clip de película aplicada desde el punto de registro del clip de película. _y:Number _ymouse:Number [read. __proto__ (propiedad Object.Indica la coordenada y de la posición del ratón.__resolve) MovieClip 415 . Establece la coordenada y de un clip de película con respecto a las coordenadas locales del clip de película principal. Valor booleano que indica si otros botones o clips de película pueden recibir un evento de liberación del botón del ratón o del lápiz stylus.Modificadores Propiedad only] _totalframes:Number Descripción de película en notación con barras. only] _xscale:Number Establece la escala horizontal (percentage) del clip de película aplicada desde el punto de registro del clip de película. Devuelve el número total de fotogramas de la instancia de clip de película especificada en el parámetro MovieClip. _target:String [read.Devuelve la coordenada x de la posición del ratón. Anchura del clip de película. prototype (propiedad Object. JPEG.__proto__). __resolve (propiedad Object. Entero que establece la coordenada x de un clip de película con respecto a las coordenadas locales del clip de película principal. Propiedades heredadas de la clase Object constructor (propiedad Object. Recupera la URL del archivo SWF. expresada en píxeles. GIF o PNG del que se descargó el clip de película.prototype).

Se invoca cuando un clip de película deja de tener la selección de function(newFocus:O entrada. 416 Clases de ActionScript . Se invoca cuando se mueve el ratón. Se invoca cuando se presiona el botón del ratón y el puntero se desplaza fuera del objeto. Se invoca cuando se suelta el botón del ratón.loadVariables() o MovieClip. Se invoca cuando se presiona el botón del ratón dentro del área del clip de película y haberlos soltado después fuera del área. Se invoca cuando un clip de película está resaltado y se presiona una tecla. Se invoca cuando se suelta una tecla. Se invoca cuando el puntero se arrastra fuera del clip de película y luego se pasa por encima de éste.Resumen de eventos Evento onData = function() {} onDragOut = function() {} onDragOver = function() {} onEnterFrame = function() {} onKeyDown = function() {} onKeyUp = function() {} onKillFocus = bject) {} onLoad = function() {} onMouseDown = function() {} onMouseMove = function() {} onMouseUp = function() {} onPress = function() {} onRelease = function() {} onReleaseOutside = function() {} onRollOut = function() {} onRollOver = function() {} Descripción Se invoca cuando un clip de película recibe datos de una llamada MovieClip. Se invoca cuanto se suelta el botón del ratón sobre un clip de película. Se invoca cuando el puntero se desplaza sobre el área de un clip de película. Se invoca cuando el usuario hace clic en el ratón mientras el puntero se encuentra sobre el clip de película. Se invoca cuando se crea una instancia del clip de película y ésta aparece en la línea de tiempo. Se invoca cuando se presiona el botón del ratón. Se invoca de manera repetida con la velocidad de fotogramas del archivo SWF.loadMovie(). Se invoca cuando el puntero se desplaza fuera del área de un clip de película.

depth:Number.lineStyle(). ratios:Array. attachMovie(id:Stri Localiza un símbolo de la biblioteca y lo asocia al Elimina todos los gráficos creados en tiempo de ejecución empleando los métodos de dibujo del clip de película. [initObject:Object] ) : MovieClip beginFill(rgb:Numbe Indica el comienzo de un nuevo trazo de dibujo. MovieClip 417 . createEmptyMovieCli Crea un clip de película vacío como elemento p(name:String. matrix:Object) : Void clear() : Void Descripción clip de película. alphas:Array. Resumen de métodos Modificadores Firma ng. y:Number. depth:Number) : MovieClip createTextField(ins Crea un nuevo campo de texto vacío como tanceName:String. height:Number) : TextField elemento secundario del clip de película que llama a este método.Evento onSetFocus = function(oldFocus:O bject) {} onUnload = function() {} Descripción Se invoca cuando un clip de película recibe la selección de entrada. depth:Number. colors:Array. name:String. x:Number. Se invoca en el primer fotograma después de que el clip de película se elimine de la línea de tiempo. [alpha:Number]) : Void beginGradientFill(f Indica el comienzo de un nuevo trazo de dibujo. secundario de un clip de película existente. incluidos los estilos de línea especificados con MovieClip. r. illType:String. width:Number.

getSWFVersion() : Number 418 Clases de ActionScript . getInstanceAtDepth( Determina si una profundidad específica ya está depth:Number) : MovieClip getNextHighestDepth Le permite determinar un valor de profundidad que () : Number ocupada por un clip de película. depth:Number. anchorX:Number.attachMovie(). controlY:Number. controlY). coordenada mínimo y máximo x e y del clip de película para el parámetro bounds. puede pasar a MovieClip. curveTo(controlX:Nu Dibuja una curva con el estilo de línea actual desde duplicateMovieClip( Crea una instancia del clip de película especificado name:String. [initObject:Object] ) : MovieClip endFill() : Void mientras se reproduce el archivo SWF. MovieClip. Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill() o beginGradientFill(). anchorY:Number) : Void Descripción la posición de dibujo actual hasta (anchorX. Devuelve el tamaño en bytes del clip de película.duplicateMovieClip() o MovieClip. getBounds(bounds:Ob Devuelve las propiedades que son los valores de ject) : Object getBytesLoaded() : Number getBytesTotal() : Number getDepth() : Number Devuelve la profundidad de una instancia de clip de película. Devuelve un entero que indica la versión de Flash Player para la que se ha publicado el clip de película.createEmptyMovieClip() para asegurarse de que Flash representa el clip de película delante de todos los demás objetos situados en el mismo nivel y capa del clip de película actual. Devuelve el número de bytes que se han cargado (reproducido sin interrupción) para el clip de película. anchorY) utilizando el punto de control especificado con ((controlX.Modificadores Firma mber.

alpha:Number. loadVariables(url:S Lee datos de un archivo externo y establece los tring. globalToLocal(pt:Ob Convierte el objeto pt de las coordenadas del ject) : Void escenario (globales) en coordenadas del clip de película (locales). [method:String]) : Void Descripción Carga un documento de la URL especificada en la ventana indicada. [method:String]) : Void MovieClip 419 . noScale:String. Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x. [method:String]) película en Flash Player mientras se reproduce el : Void archivo SWF original. especificado del clip de película y la detiene en dicho lugar. miterLimit:Number) : Void lineTo(x:Number. superpone o corta con el área activa identificada mediante los parámetros de coordenadas target o x e y. la posición de dibujo actual se establece posteriormente como (x. gotoAndPlay(frame:O Inicia la reproducción del archivo SWF en el bject) : Void gotoAndStop(frame:O Traslada la cabeza lectora al fotograma bject) : Void hitTest() : Boolean Evalúa el clip de película para comprobar si se lineStyle(thickness Especifica un estilo de línea que Flash utilizará para :Number. capsStyle:String. jointStyle:String.Modificadores Firma getURL(url:String. loadMovie(url:Strin Carga un archivo SWF o JPEG en un clip de g. rgb:Number. [window:String]. fotograma especificado. y). y:Number) : Void las posteriores llamadas a lineTo() y curveTo() hasta que llame a lineStyle() con otros parámetros. pixelHinting:Boolea n. y). valores de variables en el clip de película.

y:Number) : Void nextFrame() : Void play() : Void prevFrame() : Void removeMovieClip() : Elimina una instancia de clip de película creada por Void setMask(mc:Object) : Void startDrag([lockCent Permite al usuario arrastrar el clip de película er:Boolean]. duplicateMovieClip(). Elimina el contenido de una instancia de clip de película.createEmptyMovieClip() o MovieClip.startDrag(). [bottom:Number]) : Void stop() : Void Detiene el clip de película que se está reproduciendo actualmente. (orden z). Traslada la cabeza lectora al siguiente fotograma y la detiene en dicho punto. Finaliza un método MovieClip. de este clip de película con el clip de película especificado por el parámetro target o con el clip de película que ocupa actualmente el nivel de profundidad especificado en el parámetro target. y).duplicateMovieClip(). especificado. stopDrag() : Void swapDepths(target:O Intercambia el apilamiento o nivel de profundidad bject) : Void unloadMovie() : Void 420 Clases de ActionScript . Mueve la cabeza lectora por la línea de tiempo del clip de película. [left:Number].Modificadores Firma ject) : Void Descripción película (locales) en coordenadas del escenario (globales). MovieClip. Traslada la cabeza lectora al fotograma anterior y la detiene en dicho punto. Mueve la posición de dibujo actual a (x.attachMovie(). [right:Number]. Convierte el clip de película del parámetro mc en una máscara que revela el clip de película especificado por el clip de película. localToGlobal(pt:Ob Convierte el objeto pt de coordenadas del clip de moveTo(x:Number. [top:Number]. MovieClip.

hasOwnProperty (método Object.hasOwnProperty).lineTo(10.lineTo(10. El valor predeterminado es 100.onRollOut = function() { this.createEmptyMovieClip("triangle".lineTo(100. Los valores válidos son los comprendidos entre 0 (totalmente transparente) y 100 (totalmente opaco). Por ejemplo._alpha = 100. Ejemplo El código siguiente define en 50% la propiedad _alpha de un clip de película creado dinámicamente y denominado triangle cuando el ratón se desplaza sobre el clip de película. _alpha (propiedad TextField.valueOf).onRollOver = function() { this. triangle._visible) MovieClip 421 . triangle. Añada el siguiente código ActionScript al archivo FLA o AS: this. isPrototypeOf (método Object. toString (método Object._alpha). Véase también _alpha (propiedad Button. }. 100). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Los objetos existentes en un clip de película que tenga configurado _alpha con el valor 0 continuarán activos aunque no sean visibles. triangle. isPropertyEnumerable (método Object. 100). triangle. registerClass (método Object.watch) _alpha (propiedad MovieClip. valueOf (método Object.isPrototypeOf).toString).beginFill(0x0000FF. triangle. 10).Métodos heredados de la clase Object addProperty (método Object. watch (método Object.moveTo(10._alpha) public _alpha : Number Valor de transparencia alfa del clip de película._alpha = 50. 10). }. puede establecer la propiedad _visible del clip de película con el valor false. puede hacer clic en un botón de un clip de película aunque su propiedad _alpha esté configurada con el valor 0. 10). triangle. this. _visible (propiedad MovieClip.getNextHighestDepth()).addProperty). Para desactivar el botón completamente.registerClass). triangle.unwatch)._alpha). unwatch (método Object.isPropertyEnumerable).

se omite.attachMovie) public attachMovie(id:String.getNextHighestDepth(). Este parámetro permite a los clips de película creados dinámicamente recibir parámetros de clip. name:String.removeMovieClip).removeMovieClip() o MovieClip. depth:Number archivo SWF. unloadMovie (método MovieClip.attachMovie("circle". this. Utilice MovieClip. this. initObject:Object [opcional] . Todas las propiedades de initObject se copian en la nueva instancia. Parámetros id:String . depth:Number.Una referencia a la nueva instancia creada. Véase también removeMovieClip (método MovieClip. situada en el escenario en el archivo SWF: this.unloadMovie).getNextHighestDepth()). "circle1_mc".attachMovie (método MovieClip.Nombre de vinculación del símbolo de clip de película de la biblioteca que va a asociarse a un clip de película del escenario. Valor devuelto MovieClip . Si initObject no es un objeto.Entero que especifica el nivel de profundidad en el que está situado el name:String película. _y:100}). {_x:100. "circle2_mc". [initObject:Object]) : MovieClip Localiza un símbolo de la biblioteca y lo asocia al clip de película. Ejemplo El ejemplo siguiente asocia el símbolo con el identificador de vinculación "circle" a la instancia de clip de película. . Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.attachMovie("circle". Es el nombre introducido en el campo Identificador del cuadro de diálogo Propiedades de vinculación.unloadMovie() para eliminar un archivo SWF asociado mediante attachMovie(). Las propiedades especificadas con initObject están disponibles para la función constructora.(Admitido en Flash Player 6 y versiones posteriores) Objeto que contiene propiedades con las que rellenar el clip de película recién asociado. Función removeMovieClip 422 Clases de ActionScript .Nombre de instancia exclusivo del clip de película que va a asociarse al clip de . this.

Parámetros rgb:Number . rojo es 0xFF0000.endFill(). Si no se proporciona este valor. this. Si no se proporciona este valor o es undefined.beginGradientFill) MovieClip 423 . Si existe un trazado abierto (es decir. si la posición de dibujo actual no es la misma que la posición anterior especificada en un método MovieClip.). dicho trazado se cerrará con una línea y luego se rellenará. 100). se utiliza 100 (continuo). Encontrará también un ejemplo en el archivo drawingapi. Véase también moveTo (método MovieClip. endFill (método MovieClip. square_mc.beginFill(0xFF0000).createEmptyMovieClip("square_mc". square_mc. square_mc. 10).endFill(). 10).lineTo(10. [alpha:Number]) : Void Indica el comienzo de un nuevo trazo de dibujo. 10). square_mc.fla de la carpeta de ejemplos de ActionScript de www.lineTo(100.Entero entre 0 y 100 que especifica el valor alfa del relleno. etc. azul es 0x0000FF.lineTo(100.moveTo(10. Flash utiliza 100.com/go/learn_fl_samples_es. square_mc. 100).beginFill (método MovieClip.beginFill) public beginFill(rgb:Number. square_mc.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo.moveTo). Si el valor es inferior a 0. Ejemplo El ejemplo siguiente crea un cuadrado con relleno rojo en el escenario: this.moveTo() y tiene un relleno asociado.getNextHighestDepth()). Si el valor es mayor que 100.Valor de color hexadecimal (por ejemplo. beginGradientFill (método MovieClip.lineTo(10. square_mc. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.adobe. alpha:Number [opcional] . Flash utiliza 0. Descargue y descomprima el archivo . no se crea un relleno.endFill). Se trata de un resultado similar al que se obtiene cuando se llama a MovieClip.

los valores válidos son del 0 al 100. Parámetros fillType:String . d. ratios:Array . Si el valor es mayor que 100.Una matriz de proporciones de distribución de colores.beginGradientFill (método MovieClip. Flash utiliza 100. dicho trazado se cerrará con una línea y luego se rellenará. g. matrix:Object) : Void Indica el comienzo de un nuevo trazo de dibujo. alphas y ratios no coincide.beginGradientFill) public beginGradientFill(fillType:String. colors:Array. Se trata de un resultado similar al que se obtiene cuando se llama a MovieClip. alphas:Array .Matriz de transformación que es un objeto con uno de los dos conjuntos de propiedades siguientes: ■ a. alphas:Array. f.endFill(). Flash utiliza 0. el trazado no tendrá relleno.Cadena "linear" o "radial". Alguno de los campos del objeto correspondiente al parámetro matrix no están presentes o no son válidos. c. los valores válidos son del 0 al -255.Matriz de valores alfa para los colores correspondientes de la matriz colors.moveTo()) y tiene un relleno asociado. Si existe un trazado abierto (es decir. rojo es 0xFF0000. ratios:Array. El parámetro fillType no es "linear" ni "radial". o si no se han pasado parámetros. Este método falla si se da una de las situaciones siguientes: ■ ■ ■ El número de elementos de los parámetros colors. e. h. Si el valor es inferior a 0. si la posición de dibujo actual no es la misma que la posición anterior especificada en un método MovieClip. matrix:Object . azul es 0x0000FF.Matriz de valores de color RGB hexadecimales que se utiliza (por ejemplo. i.). en el degradado colors:Array . Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. b. Este valor define el porcentaje de la anchura donde el color se muestrea al 100%. Si el primer parámetro es undefined. a b c d e f g h i para describir una matriz de 3 x 3 de la forma siguiente: 424 Clases de ActionScript . etc.

r. } Este código dibuja la imagen siguiente en la pantalla: ■ matrixType.createEmptyMovieClip("gradient_mc".getNextHighestDepth()). matrix = {a:200. this. alphas. Las propiedades indican lo siguiente: matrixType es la cadena "box". d:0. fillType = "radial" alphas = [100. beginGradientFill(fillType. interpolationMethod = "linearRGB". f:0. 300). g:200. 0x0000FF].9. lineTo(100. lineTo(100. h. i:1}. focalPointRatio). b:0. y. ratios. interpolationMethod. colors.El ejemplo siguiente utiliza el método beginGradientFill() con un parámetro matrixde este tipo: this. lineTo(300. lineTo(300. MovieClip 425 . c:0. spreadMethod. 100). focalPointRatio = 0. endFill(). y es la posición vertical de la esquina superior izquierda del degradado con respecto al punto de registro del clip principal. x. 0xFF]. w es la anchura del degradado. w. h:200. with (gradient_mc) { colors = [0xFF0000. x es la posición horizontal de la esquina superior izquierda del degradado con respecto al punto de registro del clip principal. 100]. spreadMethod = "reflect". moveTo(100. h es la altura del degradado y r es la rotación en radianes del degradado. 100). 100). 300). matrix. e:200. ratios = [0.

spreadMethod. w:200.PI}. interpolationMethod = "linearRGB". matrix = {matrixType:"box". y:100.beginFill).lineStyle). alphas.getNextHighestDepth()). lineStyle (método MovieClip. spreadMethod = "reflect". interpolationMethod. ratios. moveTo (método MovieClip. x:100. focalPointRatio). matrix. } Este código dibuja la imagen siguiente en la pantalla: Véase también beginFill (método MovieClip. 0xFF]. moveTo(100. focalPointRatio = 0.endFill). lineTo(100. 0x0000FF].lineTo). 100].moveTo) 426 Clases de ActionScript .9. 100). 300). endFill(). fillType = "radial" alphas = [100. colors. beginGradientFill(fillType. 100). lineTo(300.createEmptyMovieClip("gradient_mc". r:(45/ 180)*Math. lineTo(300. 300). with (gradient_mc) { colors = [0xFF0000. lineTo(100. h:200. ratios = [0. this.El ejemplo siguiente utiliza el método beginGradientFill() con un parámetro matrixde este tipo: this. lineTo (método MovieClip. endFill (método MovieClip. 100).

}. mc.lineTo(x. Las formas y líneas que se dibujan manualmente durante la etapa de edición (con las herramientas de dibujo de Flash) no se ven afectadas. drawBox(box_mc.clear (método MovieClip. box_mc.lineTo(x+w.getNextHighestDepth()).lineTo(x. 320. Ejemplo El ejemplo siguiente dibuja un recuadro en el escenario: Cuando el usuario hace clic en el gráfico del recuadro.lineTo(x+w. y).adobe.beginFill(0xEEEEEE). mc. 240). y+h). this. y:Number. y+h). 10.lineStyle) MovieClip 427 . } Encontrará también un ejemplo en el archivo drawingapi.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo.clear(). mc. y). elimina el gráfico del escenario. mc. function drawBox(mc:MovieClip.endFill(). y). Véase también lineStyle (método MovieClip. mc. w:Number. h:Number):Void { mc. x:Number. 10.onRelease = function() { this. this.createEmptyMovieClip("box_mc".lineStyle().clear) public clear() : Void Elimina todos los gráficos creados en tiempo de ejecución empleando los métodos de dibujo del clip de película. incluidos los estilos de línea especificados con MovieClip.com/go/learn_fl_samples_es.moveTo(x.fla de la carpeta de ejemplos de ActionScript de www.lineStyle(0). mc. Descargue y descomprima el archivo . mc.

El punto de registro de un clip de película vacío recién creado es la esquina superior izquierda. Parámetros name:String . . Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Este método se comporta de forma similar al método attachMovie(). aunque no es necesario proporcionar un identificador de vinculación externo para el nuevo clip de película. Véase también attachMovie (método MovieClip. 150. 0.Entero que especifica la profundidad del nuevo clip de película. crea un nuevo objeto TextField en su interior y define la nueva propiedad TextField.createEmptyMovieClip) public createEmptyMovieClip(name:String. 1.createEmptyMovieClip("container". depth:Number Valor devuelto MovieClip .createTextField("label". this.attachMovie) 428 Clases de ActionScript .Una referencia al nuevo clip de película creado.text = "Hello World". Ejemplo El ejemplo siguiente crea un objeto MovieClip vacío denominado container. 20). Este método falla si falta cualquiera de los parámetros. var container:MovieClip = this. depth:Number) : MovieClip Crea un clip de película vacío como elemento secundario de un clip de película existente. var label:TextField = container. label.Cadena que identifica el nombre de instancia del nuevo clip de película.text. 0.getNextHighestDepth()).createEmptyMovieClip (método MovieClip.

El campo de texto se sitúa en (x. utilice MovieClip. el nuevo campo de texto reemplaza al existente. Para evitar sobrescribir campos de texto existentes. y) con las dimensiones width (anchura) por height (altura). estos parámetros corresponden a las propiedades _x e _y del campo de texto. Las propiedades predeterminadas de un campo de texto son las siguientes: type = "dynamic" border = false background = false password = false multiline = false html = false embedFonts = false selectable = true wordWrap = false mouseWheelEnabled = true condenseWhite = false restrict = null variable = null maxChars = null styleSheet = undefined tabInded = undefined Un campo de texto creado con createTextField() recibe los ajustes del siguiente objeto TextFormat predeterminado: font = "Times New Roman" // "Times" en Mac OS size = 12 color = 0x000000 bold = false italic = false underline = false url = "" target = "" MovieClip 429 .getInstanceAtDepth() con el fin de determinar si una profundidad ya está ocupada o MovieClip. x:Number. Los parámetros width y height corresponden a las propiedades _width y _height del campo de texto. depth:Number. y:Number.createTextField (método MovieClip. Cada nivel de profundidad sólo puede contener un objeto. width:Number. Puede utilizar el método createTextField() para crear campos de texto mientras se reproduce un archivo SWF.createTextField) public createTextField(instanceName:String. Si crea un nuevo campo de texto en una profundidad en la que ya hay un campo de texto. Los parámetros x e y son relativos al clip de película del contenedor. height:Number) : TextField Crea un nuevo campo de texto vacío como elemento secundario del clip de película que llama a este método. El parámetro depth determina el nivel de profundidad del nuevo campo de texto (posición de orden z) del clip de película.getNextHighestDepth() para determinar la profundidad más alta no ocupada.

Cadena que identifica el nombre de instancia del nuevo campo de texto. my_txt.color = 0xFF0000. .wordWrap = true. 100.setTextFormat(my_fmt). my_fmt.multiline = true. Encontrará también un ejemplo en el archivo animations. sin bordes.text = "This is my first test field object text. . my_txt. Descargue y descomprima el archivo . 1.Entero positivo que especifica la profundidad del nuevo campo de texto. una altura de 100. depth:Number x:Number y:Number .Entero positivo que especifica la altura del nuevo campo de texto. my_fmt. 100). Parámetros instanceName:String .align = "left" leftMargin = 0 rightMargin = 0 indent = 0 leading = 0 blockIndent = 0 bullet = false display = block tabStops = [] // (matriz vacía) Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. 100.Entero que especifica la coordenada y del nuevo campo de texto.createTextField("my_txt".Entero que especifica la coordenada x del nuevo campo de texto.adobe.fla de la carpeta de ejemplos de ActionScript de www. my_txt.underline = true. 430 Clases de ActionScript . 300. width:Number height:Number Valor devuelto TextField - Ejemplo El ejemplo siguiente crea un campo de texto con una anchura de 300. my_txt.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo. una coordenada xde 100. una coordenada y de 100.com/go/learn_fl_samples_es. .". rojo y texto subrayado: this. .Entero positivo que especifica la anchura del nuevo campo de texto. var my_fmt:TextFormat = new TextFormat().

getInstanceAtDepth). getNextHighestDepth (método MovieClip.Entero que especifica la posición vertical del punto de control con respecto al punto de registro del clip de película principal. curveTo (método MovieClip. este método falla y la posición de dibujo actual no cambia. Si falta alguno de los parámetros. anchorY:Number) : Void Dibuja una curva con el estilo de línea actual desde la posición de dibujo actual hasta (anchorX. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. anchorY)._currentframe) public _currentframe : Number [read-only] Devuelve el número del fotograma en el que está situada la cabeza lectora en la línea de tiempo del clip de película. anchorX:Number.Entero que especifica la posición horizontal del siguiente punto de anclaje con respecto al punto de registro del clip de película principal._currentframe + 5). MovieClip 431 . La posición de dibujo actual se establece entonces como anchorX.curveTo) public curveTo(controlX:Number.Entero que especifica la posición horizontal del punto de control con respecto al punto de registro del clip de película principal. Parámetros controlX:Number . controlY). TextFormat _currentframe (propiedad MovieClip.Véase también getInstanceAtDepth (método MovieClip.0). Si llama a curveTo() antes de realizar ninguna llamada al método moveTo(). controlY:Number. anchorY) utilizando el punto de control especificado con ((controlX. Ejemplo El ejemplo siguiente utiliza la propiedad _currentframe para ordenar a la cabeza lectora del clip de película actionClip_mc que avance cinco fotogramas con respecto a su posición actual: actionClip_mc. se adoptará la posición de dibujo predeterminada (0.gotoAndStop(actionClip_mc. controlY:Number . anchorX:Number . las llamadas a curveTo() se dibujarán debajo de este contenido. Si el clip de película en el que está dibujando incluye contenido creado con las herramientas de dibujo de Flash.getNextHighestDepth).

PI/4)*r+x.curveTo(-r+x. En el script siguiente se utiliza el método curveTo() y la clase Math para crear un círculo: this. with (circle_mc) { lineStyle(0. 0x000000).200.tan(Math.sin(Math.tan(Math.PI/8)*r+x. curveTo(200.anchorY:Number .PI/4)*r+x. -Math. function drawCircle(mc:MovieClip.curveTo(-Math.0. curveTo(0. -Math.100).curveTo(r+x.200).PI/4)*r+y).sin(Math. x:Number.PI/8)*r+x. mc. Math.0). 0x0000FF. y).PI/4)*r+x. -r+y.tan(Math. beginFill(0xFF0000).sin(Math.PI/8)*r+x.curveTo(-Math.0. } La curva dibujada en este ejemplo es una curva cuadrática de Bézier.PI/4)*r+x.200. curveTo(0. Math.0. '+y). Las curvas cuadráticas de Bézier constan de dos puntos de anclaje y un punto de control. -r+y). 2).curveTo(Math.tan(Math. -r+x. endFill().PI/8)*r+x. Math. 100).PI/8)*r+y. -r+y. mc. mc. mc.100. r+y.createEmptyMovieClip("circle_mc".Entero que especifica la posición vertical del siguiente punto de anclaje con respecto al punto de registro del clip de película principal. circle2_mc. r:Number):Void { mc. Math.PI/4)*r+y). 100. La curva interpola los dos puntos de anclaje y se dirige al punto de control. mc. Math.tan(Math. drawCircle(circle2_mc. 1).100). Ejemplo El ejemplo siguiente dibuja una curva casi circular con un trazo fino continuo azul y un relleno continuo rojo: this.PI/4)*r+y).curveTo(Math. -Math. x.sin(Math.PI/8)*r+y. 432 Clases de ActionScript . mc. -Math. r+y. y:Number. 100. y).moveTo(x+r. x. 100).curveTo(-r+x. mc.100.lineStyle(0.sin(Math.sin(Math. Math. moveTo(0.200.tan(Math.tan(Math.PI/8)*r+y. 100).createEmptyMovieClip("circle2_mc". curveTo(200.sin(Math.

capabilities.zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo.sin(Math. -Math. garbage_mc. lineStyle (método MovieClip. Para comparar la propiedad _droptarget de una instancia con una referencia. Si no son equivalentes. lineTo (método MovieClip. utilice la función eval() para convertir el valor devuelto de la sintaxis con barras a una referencia de sintaxis con punto (ActionScript 2. r+x. } Encontrará también un ejemplo en el archivo drawingapi. Math _droptarget (propiedad MovieClip.hasMouse es true o System.lineStyle).hasStylus es true.lineTo). Descargue y descomprima el archivo .onPress = function() { this._droptarget) == trashcan_mc) { MovieClip 433 . La propiedad _droptarget siempre devuelve una ruta que comienza con una barra (/). origY = garbage_mc. endFill (método MovieClip.capabilities. garbage_mc.tan(Math. }.beginFill).0 no admite sintaxis con barras).PI/4)*r+y).adobe._droptarget) public _droptarget : String [read-only] Devuelve la ruta absoluta en notación de sintaxis con barras de la instancia de clip de película en la que se ha colocado dicho clip de película. Nota: esta propiedad se admite en Flash Lite sólo si System. la instancia garbage recupera su posición original. createEmptyMovieClip (método MovieClip.onRelease = function() { this._x. mc.startDrag(). Si las dos referencias son equivalentes.moveTo).endFill). la referencia a garbage_mc se compara con la referencia a la instancia de clip de película trashcan_mc.-Math. la visibilidad de garbage_mc se establece en el valor false.PI/8)*r+y. A continuación._y. garbage_mc origX = garbage_mc. y).curveTo(r+x.stopDrag(). Véase también beginFill (método MovieClip.fla de la carpeta de ejemplos de ActionScript de www.createEmptyMovieClip). if (eval(this. moveTo (método MovieClip. Ejemplo El ejemplo siguiente evalúa la propiedad _droptarget de la instancia de clip de película y utiliza eval() para convertirla de sintaxis con barras a una referencia de sintaxis con punto.com/go/learn_fl_samples_es.

depth:Number. Esto significa que no puede ahorrar ancho de banda cargando un archivo JPEG. Los clips de película duplicados siempre comienzan a reproducirse por el fotograma 1. Parámetros name:String . Este parámetro es innecesario con la versión de clase de MovieClip._visible = false. PNG o SWF y duplicando posteriormente el clip de película.duplicateMovieClip) public duplicateMovieClip(name:String. GIF. Las variables del clip de película principal no se copian en el clip de película duplicado. [initObject:Object]) : MovieClip Crea una instancia del clip de película especificado mientras se reproduce el archivo SWF. el clip de película duplicado también se elimina. } }.this.startDrag). 434 Clases de ActionScript .loadMovie() o la clase MovieClipLoader para cargar un clip de película. Véase también startDrag (método MovieClip.Identificador exclusivo del clip de película duplicado.stopDrag). Compare este método con la versión de función global de duplicateMovieClip(). la versión global de duplicateMovieClip() no admite el parámetro initobject ni el valor devuelto de una referencia a la instancia de MovieClip recién creada._x = origX. stopDrag (método MovieClip. this. ya que el objetivo de este método es la instancia de clip de película en la que se invoca este método. el contenido del archivo SWF no se duplica. Si se elimina el clip de película principal. } else { this. Función eval duplicateMovieClip (método MovieClip. con independencia del fotograma en el que se encontrara el clip de película original cuando se llamó al método duplicateMovieClip(). La versión global de este método requiere un parámetro que especifique el clip de película de destino que duplicar. Los clips de película que se han creado con duplicateMovieClip() no se duplican si efectúa una llamada a duplicateMovieClip() en el clip principal._y = origY. Además. Si ha utilizado MovieClip.

depth:Number . duplicate = container.lineTo(w. mc. mc.endFill(). Si initObject no es un objeto._height + spacer). Las propiedades especificadas con initObject están disponibles para la función constructora. i. return mc. initObject:Object Valor devuelto MovieClip .lineTo(0. var container:MovieClip = setUpContainer().createEmptyMovieClip("container". Este parámetro permite a los clips de película creados dinámicamente recibir parámetros de clip. 0).lineTo(0. mc. i < ln.clip-[número] } function setUpContainer():MovieClip { var mc:MovieClip = this. var h:Number = 20. var duplicate:MovieClip. for(var i:Number = 1. mc. están reservados para utilizarse en el entorno de edición y no deben emplearse con este método. h). se omite.Una referencia al clip de película duplicado (admitido en Flash Player 6 y posteriores). mc.duplicateMovieClip("clip-" + i.(Admitido en Flash Player 6 y posteriores. 0). Los valores comprendidos entre -16384 y -1. {_y:newY}). Los demás valores de profundidad válidos oscilan entre 0 y 1048575. this.Entero exclusivo que especifica la profundidad a la que debe colocarse el nuevo clip de película. var spacer:Number = 1. trace(duplicate). // _level0. Todas las propiedades de initObject se copian en la nueva instancia. var ln:Number = 10.lineTo(w. mc. ambos inclusive.) Objeto que contiene propiedades con las que rellenar el clip de película duplicado. } MovieClip 435 . h). i++) { var newY:Number = i * (container.getNextHighestDepth()). Ejemplo El ejemplo siguiente duplica varias veces un objeto MovieClip creado recientemente y detecta el destino de cada duplicado.beginFill(0x333333). var w:Number = 100. ambos inclusive. Utilice la profundidad -16384 para colocar la nueva instancia de clip de película debajo del contenido creado en el entorno de edición de Flash. [opcional] .

al tiempo que se desactivarán los fotogramas Over."). mouseUp.endFill) public endFill() : Void Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill() o beginGradientFill(). mouseDown. éste continuará reproduciéndose. El clip de película continuará recibiendo los eventos de clip de película (por ejemplo. removeMovieClip (método MovieClip.enabled = false. Down y Up. Si enabled se establece con el valor false. ya no se invocarán los métodos callback y controladores de eventos onaction del clip de película. Si la posición de dibujo actual no es la misma que la posición anterior especificada en un método moveTo() y se ha definido un relleno.loadMovie). Función duplicateMovieClip enabled (propiedad MovieClip. si se está reproduciendo un clip de película. El valor predeterminado de enabled es true. Ejemplo El ejemplo siguiente crea un cuadrado con relleno rojo en el escenario: 436 Clases de ActionScript ._name+" movie clip. this. Puede cambiar la propiedad enabled en cualquier momento. el objeto no se incluirá en el orden de tabulación automático.removeMovieClip). Si enabled se configura con el valor false. La propiedad enabled no afecta a la línea de tiempo del clip de película. keyDown y keyUp). Flash utiliza el relleno especificado en la anterior llamada a beginFill() o beginGradientFill().Véase también loadMovie (método MovieClip. el trazado se cerrará con una línea y luego se rellenará. }. Ejemplo El ejemplo siguiente desactiva el clip de película circle_mc cuando el usuario hace clic en él: circle_mc. endFill (método MovieClip.enabled) public enabled : Boolean Valor booleano que indica si un clip de película está activado.onRelease = function() { trace("disabling the "+this. La propiedad enabled sólo controla las propiedades de botón de un clip de película. el clip de película modificado se activa o desactiva de inmediato. La propiedad enabled puede leerse de un objeto prototipo.

this.createEmptyMovieClip("square_mc", this.getNextHighestDepth()); square_mc.beginFill(0xFF0000); square_mc.moveTo(10, 10); square_mc.lineTo(100, 10); square_mc.lineTo(100, 100); square_mc.lineTo(10, 100); square_mc.lineTo(10, 10); square_mc.endFill();

Encontrará también un ejemplo en el archivo drawingapi.fla de la carpeta de ejemplos de ActionScript de www.adobe.com/go/learn_fl_samples_es. Descargue y descomprima el archivo .zip y acceda a la carpeta de su versión de ActionScript para poder ver el ejemplo. Véase también
beginFill (método MovieClip.beginFill), beginGradientFill (método MovieClip.beginGradientFill), moveTo (método MovieClip.moveTo)

focusEnabled (propiedad MovieClip.focusEnabled)
public focusEnabled : Boolean

Si el valor es undefined o false, un clip de película no puede quedar resaltado a menos que sea un botón. Si el valor de la propiedad focusEnabled es true, el clip de película podrá seleccionarse con el teclado aunque no sea un botón. Ejemplo El ejemplo siguiente configura la propiedad focusEnabledd del clip de película my_mc en false:
my_mc.focusEnabled = false;

_focusrect (propiedad MovieClip._focusrect)
public _focusrect : Boolean

Valor booleano que especifica si un clip de película debe mostrar un rectángulo amarillo a su alrededor cuando tiene la selección de entrada. Esta propiedad puede sustituir a la propiedad global _focusrect. El valor predeterminado de la propiedad _focusrect de una instancia de clip de película es null, la instancia de clip de película no sustituye a la propiedad global _focusrect. Si la propiedad _focusrect de una instancia de clip de película se establece como true o false, ésta sustituirá a la configuración de la propiedad global _focusrect para la instancia de clip de película en cuestión.

MovieClip

437

Nota: En Flash Lite 2.0, cuando se desactiva la propiedad _focusrect (dicho de otro modo, MovieClip._focusrect se establece en false), el clip de película seguirá recibiendo todos los eventos de pulsación de teclas y de ratón. También en Flash Lite 2.0, se puede cambiar el color del rectángulo de selección utilizando el comando SetFocusRectColor de la función fscommand2. Este comportamiento también ha cambiado con respecto a Flash Player, donde el color del rectángulo de selección únicamente puede ser amarillo. Ejemplo Este ejemplo muestra cómo ocultar el rectángulo amarillo que rodea una determinada instancia de clip de película de un archivo SWF cuando está seleccionada la instancia en una ventana del navegador. Cree tres clips de película denominados mc1_mc, mc2_mc y mc3_mc, y añada el siguiente código ActionScript al fotograma 1 de la línea de tiempo:
mc1_mc._focusrect = true; mc2_mc._focusrect = false; mc3_mc._focusrect = true; mc1_mc.onRelease = traceOnRelease; mc3_mc.onRelease = traceOnRelease; function traceOnRelease() { trace(this._name); }

Para probar el archivo SWF en una ventana del navegador, seleccione Archivo > Vista previa de publicación > HTML. Para seleccionar el archivo SWF, haga clic sobre él en la ventana del navegador y pulse la tecla Tabulador para seleccionar cada instancia. Si _focusrect está desactivado, no podrá ejecutar código en el navegador para este clip de película con la tecla Intro ni la barra espaciadora. También puede probar el archivo SWF en el entorno de prueba. Seleccione Control > Deshabilitar métodos abreviados de teclado en el entorno de prueba. Esto le permitirá ver el rectángulo de selección alrededor de las instancias del archivo SWF. Véase también
Propiedad _focusrect, _focusrect (propiedad Button._focusrect)

438

Clases de ActionScript

_framesloaded (propiedad MovieClip._framesloaded)
public _framesloaded : Number [read-only]

Número de fotogramas que se han cargado de un flujo de archivo SWF. Esta propiedad es útil para determinar si se ha cargado el contenido de un fotograma específico y de todos los que le preceden y si está disponible localmente en el navegador. También resulta útil para controlar la descarga de archivos SWF grandes. Por ejemplo, puede que desee mostrar un mensaje a los usuarios para indicar que el archivo SWF se está cargando hasta que un fotograma concreto del archivo SWF haya terminado de cargarse. Ejemplo El ejemplo siguiente utiliza la propiedad _framesloaded para iniciar un archivo SWF cuando se han cargado todos los fotogramas. Si no están cargados todos los fotogramas, la propiedad _xscale de la instancia de clip de película bar_mc aumenta proporcionalmente para crear una barra de progreso. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo:
var pctLoaded:Number = Math.round(this.getBytesLoaded()/ this.getBytesTotal()*100); bar_mc._xscale = pctLoaded;

Añada el siguiente código al fotograma 2:
if (this._framesloaded < this._totalframes) { this.gotoAndPlay(1); } else { this.gotoAndStop(3); }

Coloque el contenido sobre o detrás del fotograma 3. A continuación añada el código siguiente al fotograma 3:
stop();

Véase también
MovieClipLoader

getBounds (método MovieClip.getBounds)
public getBounds(bounds:Object) : Object

Devuelve las propiedades que son los valores de coordenada mínimo y máximo x e y del clip de película para el parámetro bounds.

MovieClip

439

Nota:utilice MovieClip.lcalToGlobal() y MovieClip.globalToLocal() para convertir las coordenadas locales del clip de película en coordenadas de escenario o las coordenadas de escenario en coordenadas locales, respectivamente. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
bounds:Object

- Ruta de destino de la línea de tiempo cuyo sistema de coordenadas desee utilizar como punto de referencia. Valor devuelto

Object

- Un objeto con las propiedades xMin, xMax, yMin y yMax.

Ejemplo El ejemplo siguiente crea un clip de película denominado square_mc. El código dibuja un cuadrado para este clip de película y utiliza MovieClip.getBounds() para mostrar los valores de coordenada de la instancia en el panel Salida.
this.createEmptyMovieClip("square_mc", 1); square_mc._x = 10; square_mc._y = 10; square_mc.beginFill(0xFF0000); square_mc.moveTo(0, 0); square_mc.lineTo(100, 0); square_mc.lineTo(100, 100); square_mc.lineTo(0, 100); square_mc.lineTo(0, 0); square_mc.endFill(); var bounds_obj:Object = square_mc.getBounds(this); for (var i in bounds_obj) { trace(i+" --> "+bounds_obj[i]); }

Aparecerá la información siguiente en el panel Salida:
yMax yMin xMax xMin --> --> --> --> 110 10 110 10

Véase también
globalToLocal (método MovieClip.globalToLocal), localToGlobal (método MovieClip.localToGlobal)

440

Clases de ActionScript

getBytesLoaded (método MovieClip.getBytesLoaded)
public getBytesLoaded() : Number

Devuelve el número de bytes que se han cargado (reproducido sin interrupción) para el clip de película. Puede comparar este valor con el devuelto por MovieClip.getBytesTotal() para determinar el porcentaje de un clip de película que se ha cargado. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Valor devuelto
Number

- Un entero que indica el número de bytes cargados.

Ejemplo El ejemplo siguiente utiliza la propiedad _framesloaded para iniciar un archivo SWF cuando se han cargado todos los fotogramas. Si no están cargados todos los fotogramas, la propiedad _xscale de la instancia de clip de película loader aumenta proporcionalmente para crear una barra de progreso. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo:
var pctLoaded:Number = Math.round(this.getBytesLoaded()/ this.getBytesTotal()*100); bar_mc._xscale = pctLoaded;

Añada el siguiente código al fotograma 2:
if (this._framesloaded < this._totalframes) { this.gotoAndPlay(1); } else { this.gotoAndStop(3); }

Coloque el contenido sobre o detrás del fotograma 3 y añada el código siguiente al fotograma 3:
stop();

Véase también
getBytesTotal (método MovieClip.getBytesTotal)

MovieClip

441

getBytesTotal (método MovieClip.getBytesTotal)
public getBytesTotal() : Number

Devuelve el tamaño en bytes del clip de película. En el caso de clips de película externos (el archivo SWF raíz o un clip de película que se está cargando en un destino o un nivel), el valor devuelto es el tamaño sin comprimir del archivo SWF. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Valor devuelto
Number

- Un entero que indica el tamaño total en bytes del clip de película.

Ejemplo El ejemplo siguiente utiliza la propiedad _framesloaded para iniciar un archivo SWF cuando se han cargado todos los fotogramas. Si no están cargados todos los fotogramas, la propiedad _xscale de la instancia loader de clip de película aumenta proporcionalmente para crear una barra de progreso. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo:
var pctLoaded:Number = Math.round(this.getBytesLoaded()/ this.getBytesTotal()*100); bar_mc._xscale = pctLoaded;

Añada el siguiente código al fotograma 2:
if (this._framesloaded < this._totalframes) { this.gotoAndPlay(1); } else { this.gotoAndStop(3); }

Coloque el contenido sobre o detrás del fotograma 3. A continuación añada el código siguiente al fotograma 3:
stop();

Véase también
getBytesLoaded (método MovieClip.getBytesLoaded)

442

Clases de ActionScript

getDepth (método MovieClip.getDepth)
public getDepth() : Number

Devuelve la profundidad de una instancia de clip de película. Cada clip de película, botón y campo de texto tiene asociada una profundidad exclusiva que determina cómo aparece el objeto delante o detrás de otros objetos. Los objetos con mayor profundidad aparecen delante. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Valor devuelto
Number

- La profundidad del clip de película.

Ejemplo El código siguiente averigua la profundidad de todas las instancias de clip de película del escenario:
for (var i in this) { if (typeof (this[i]) == "movieclip") { trace("movie clip '"+this[i]._name+"' is at depth "+this[i].getDepth()); } }

Véase también
getInstanceAtDepth (método MovieClip.getInstanceAtDepth), getNextHighestDepth (método MovieClip.getNextHighestDepth), swapDepths (método MovieClip.swapDepths), getDepth (método TextField.getDepth), getDepth (método Button.getDepth)

getInstanceAtDepth (método MovieClip.getInstanceAtDepth)
public getInstanceAtDepth(depth:Number) : MovieClip

Determina si una profundidad específica ya está ocupada por un clip de película. Puede utilizar ese método antes de utilizar MovieClip.attachMovie(), MovieClip.duplicateMovieClip() o MovieClip.createEmptyMovieClip() para determinar si el parámetro de profundidad que desea pasar a alguno de estos métodos ya contiene un clip de película. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.

MovieClip

443

Parámetros
depth:Number

- Entero que especifica el nivel de profundidad de la consulta.

Valor devuelto
MovieClip undefined

- Una referencia a la instancia MovieClip situada en la profundidad especificada o si no hay ningún clip de película en dicha profundidad.

Ejemplo
triangle

El ejemplo siguiente muestra la profundidad ocupada por la instancia de clip de película en el panel Salida:

this.createEmptyMovieClip("triangle", 1); triangle.beginFill(0x0000FF, 100); triangle.moveTo(100, 100); triangle.lineTo(100, 150); triangle.lineTo(150, 100); triangle.lineTo(100, 100); trace(this.getInstanceAtDepth(1)); // salida: _level0.triangle

Véase también
attachMovie (método MovieClip.attachMovie), duplicateMovieClip (método MovieClip.duplicateMovieClip), createEmptyMovieClip (método MovieClip.createEmptyMovieClip), getDepth (método MovieClip.getDepth), getNextHighestDepth (método MovieClip.getNextHighestDepth), swapDepths (método MovieClip.swapDepths)

getNextHighestDepth (método MovieClip.getNextHighestDepth)
public getNextHighestDepth() : Number

Le permite determinar un valor de profundidad que puede pasar a MovieClip.attachMovie(), MovieClip.duplicateMovieClip() o MovieClip.createEmptyMovieClip() para asegurarse de que Flash representa el clip de película delante de todos los demás objetos situados en el mismo nivel y capa del clip de película actual. El valor devuelto es 0 o un valor mayor (es decir, no se devuelven números negativos). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.

444

Clases de ActionScript

Nota: no debería utilizar este método si también utiliza componentes de la versión 2. Si coloca un componente de la versión 2 en el escenario o la biblioteca, el método getNextHighestDepth() devuelve una profundidad de 1048676, valor que queda fuera del rango válido. Esto puede evitar correctamente llamadas a MovieClip.removeMovieClip(). Valor devuelto
Number - Un entero que refleja el siguiente índice de profundidad disponible que se representaría por encima de todos los demás objetos del mismo nivel y capa dentro del clip de película.

Ejemplo El ejemplo siguiente dibuja tres instancias de clip de película utilizando el método getNextHighestDepth() como parámetro depth del método createEmptyMovieClip(), además etiqueta cada clip de película con su profundidad:
for (i = 0; i < 3; i++) { drawClip(i); } function drawClip(n:Number):Void { this.createEmptyMovieClip("triangle" + n, this.getNextHighestDepth()); var mc:MovieClip = eval("triangle" + n); mc.beginFill(0x00aaFF, 100); mc.lineStyle(4, 0xFF0000, 100); mc.moveTo(0, 0); mc.lineTo(100, 100); mc.lineTo(0, 100); mc.lineTo(0, 0); mc._x = n * 30; mc._y = n * 50 mc.createTextField("label", this.getNextHighestDepth(), 20, 50, 200, 200) mc.label.text = mc.getDepth(); }

Véase también
getDepth (método MovieClip.getDepth), getInstanceAtDepth (método MovieClip.getInstanceAtDepth), swapDepths (método MovieClip.swapDepths), attachMovie (método MovieClip.attachMovie), duplicateMovieClip (método MovieClip.duplicateMovieClip), createEmptyMovieClip (método MovieClip.createEmptyMovieClip)

MovieClip

445

getSWFVersion (método MovieClip.getSWFVersion)
public getSWFVersion() : Number

Devuelve un entero que indica la versión de Flash Player para la que se ha publicado el clip de película. Si el clip de película es un archivo JPEG, GIF o PNG, o si se produce un error y Flash Player no logra determinar la versión de SWF del clip de película, se devuelve -1. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Valor devuelto
Number - Un entero que especifica la versión de Flash Player de destino cuando se publicó el archivo SWF cargado en el clip de película.

Ejemplo El ejemplo siguiente crea un nuevo contenedor y ofrece como salida el valor de getSWFVersion(). Después utiliza MovieClipLoader para cargar un archivo SWF externo que se publicó con Flash Player 7 y muestra el valor de getSWFVersion() después de activarse el controlador onLoadInit.
var container:MovieClip = this.createEmptyMovieClip("container", this.getUpperEmptyDepth()); var listener:Object = new Object(); listener.onLoadInit = function(target:MovieClip):Void { trace("target: " + target.getSWFVersion()); // destino: 7 } var mcLoader:MovieClipLoader = new MovieClipLoader(); mcLoader.addListener(listener); trace("container: " + container.getSWFVersion()); // contenedor: 8 mcLoader.loadClip("FlashPlayer7.swf", container);

getURL (método MovieClip.getURL)
public getURL(url:String, [window:String], [method:String]) : Void

Carga un documento de la URL especificada en la ventana indicada. El método getURL() también puede utilizarse para pasar variables a otra aplicación definida en la URL mediante un método GET o POST.

446

Clases de ActionScript

Las páginas Web que albergan películas Flash deben definir explícitamente el atributo allowScriptAccess para permitir o denegar la creación de scripts en Flash Player a partir del código HTML (etiqueta PARAM en Internet Explorer o la etiqueta EMBED en Netscape Navigator).
■ ■

Cuando allowScriptAccess es "never", la creación de scripts salientes falla siempre. Cuando allowScriptAccess es "always", la creación de scripts salientes siempre es correcta. Cuando allowScriptAccess es "sameDomain" (admitido en los archivos SWF a partir de la versión 8), se permite la creación de scripts salientes si el archivo SWF pertenece al mismo dominio de la página Web que lo aloja. Si una página HTML no especifica allowScriptAccess, el valor predeterminado es "sameDomain" para los archivos SWF de la versión 8; en el caso de archivos SWF de versiones anteriores, el valor predeterminado es "always".

Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
url:String

- URL del cual se obtiene el documento.

window:String

[opcional] - Un parámetro que especifica el nombre, fotograma o expresión que especifica la ventana o fotograma HTML en el que se carga el documento. También es posible utilizar uno de los siguientes nombres de destino reservados: _self especifica el marco actual de la ventana actual, _blank especifica una ventana nueva, _parent especifica el nivel superior del marco actual y _top especifica el marco del nivel más alto de la ventana actual.

method:String [opcional] - Una cadena ("GET" o "POST") que especifica un método para enviar las variables asociadas al archivo SWF que va a cargarse. Si no hay ninguna variable, omita este parámetro; de lo contrario, especifique si se cargarán variables con un método GET o POST. GET añade las variables al final de la URL y se utiliza para números reducidos de variables. POST envía las variables en un encabezado HTTP independiente y se utiliza para cadenas de variables largas.

Ejemplo El siguiente código ActionScript crea una instancia nueva de clip de película y abre el sitio Web de Macromedia en una nueva ventana del navegador:
this.createEmptyMovieClip("loader_mc", this.getNextHighestDepth()); loader_mc.getURL("http://www.macromedia.com", "_blank");

MovieClip

447

El método getURL() también permite enviar variables a un script de servidor remoto, como muestra el código siguiente:
this.createEmptyMovieClip("loader_mc", this.getNextHighestDepth()); loader_mc.username = "some user input"; loader_mc.password = "random string"; loader_mc.getURL("http://www.flash-mx.com/mm/viewscope.cfm", "_blank", "GET");

Véase también
Función getURL, sendAndLoad (método LoadVars.sendAndLoad), send (método LoadVars.send)

globalToLocal (método MovieClip.globalToLocal)
public globalToLocal(pt:Object) : Void

Convierte el objeto pt de las coordenadas del escenario (globales) en coordenadas del clip de película (locales). El método MovieClip.globalToLocal() permite convertir los valores de las coordenadas x e y dadas, relativos a la esquina superior izquierda del escenario, en valores relativos a la esquina superior izquierda de un clip de película especificado. En primer lugar deber crear un objeto genérico con dos propiedades, x e y. Estos valores x e y (deben llamarse x e y) se denominan coordenadas globales porque son relativas a la esquina superior izquierda del escenario. La propiedad x representa el desplazamiento horizontal con respecto a la esquina superior izquierda. En otras palabras, representa la distancia del punto hacia la derecha. Por ejemplo, si x = 50, el punto queda 50 píxeles a la derecha de la esquina superior izquierda. La propiedad y representa el desplazamiento vertical con respecto a la esquina superior izquierda. En otras palabras, representa la distancia del punto hacia abajo. Por ejemplo, si y = 20, el punto queda 20 píxeles por debajo de la esquina superior izquierda. El código siguiente crea un objeto genérico con estas coordenadas:
var myPoint:Object = new Object(); myPoint.x = 50; myPoint.y = 20;

También es posible crear el objeto y asignarle simultáneamente los valores con un valor literal de objeto:
var myPoint:Object = {x:50, y:20};

448

Clases de ActionScript

Una vez creado un objeto punto con coordenadas globales, puede convertir las coordenadas en coordenadas locales. El método globalToLocal() no devuelve un valor porque cambia los valores de x e y del objeto genérico enviado como parámetro. Sustituye los valores relativos al escenario (coordenadas globales) por valores relativos a un clip de película específico (coordenadas locales). Por ejemplo, si crea un clip de película situado en el punto (_x:100, _y:100) y pasa el punto global que representa la esquina superior izquierda del escenario (x:0, y:0) al método globalToLocal(), el método debería convertir los valores de x e y en coordenadas locales, en este caso (x:-100, y:-100). Esta conversión ocurre porque ahora las coordenadas x e y se expresan en relación con la esquina superior izquierda del clip de película, no del escenario. Los valores son negativos porque para pasar de la esquina superior izquierda del clip de película a la esquina superior izquierda del escenario, debe desplazarse 100 píxeles a la izquierda (x negativo) y 100 píxeles hacia arriba (y negativo). Las coordenadas del clip de película se han expresado con e porque son las propiedades de MovieClip utilizadas para definir los valores x e y para MovieClips. Sin embargo, el objeto genérico utiliza x e y sin subrayado. El siguiente código convierte los valores de x e y en coordenadas locales:
var myPoint:Object = {x:0, y:0}; // Crear el objeto punto genérico. this.createEmptyMovieClip("myMovieClip", this.getNextHighestDepth()); myMovieClip._x = 100; // _x para la posición x del clip de película myMovieClip._y = 100; // _y para la posición y del clip de película myMovieClip.globalToLocal(myPoint); trace ("x: " + myPoint.x); // salida: -100 trace ("y: " + myPoint.y); // salida: -100

Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
pt:Object

- Nombre o identificador de un objeto creado con la clase Object genérica. El objeto especifica las coordenadas x e y como propiedades. Ejemplo Añada el siguiente código ActionScript a un archivo FLA o AS del mismo directorio como una imagen denominada photo1.jpg:

this.createTextField("coords_txt", this.getNextHighestDepth(), 10, 10, 100, 22); coords_txt.html = true; coords_txt.multiline = true; coords_txt.autoSize = true;

MovieClip

449

this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); target_mc._x = 100; target_mc._y = 100; target_mc.loadMovie("photo1.jpg"); var mouseListener:Object = new Object(); mouseListener.onMouseMove = function() { var point:Object = {x:_xmouse, y:_ymouse}; target_mc.globalToLocal(point); var rowHeaders = "<b> &nbsp; \t</b><b>_x\t</b><b>_y</b>"; var row_1 = "_root\t"+_xmouse+"\t"+_ymouse; var row_2 = "target_mc\t"+point.x+"\t"+point.y; coords_txt.htmlText = "<textformat tabstops='[100, 150]'>"; coords_txt.htmlText += rowHeaders; coords_txt.htmlText += row_1; coords_txt.htmlText += row_2; coords_txt.htmlText += "</textformat>"; }; Mouse.addListener(mouseListener);

Véase también
getBounds (método MovieClip.getBounds), localToGlobal (método MovieClip.localToGlobal), Object

gotoAndPlay (método MovieClip.gotoAndPlay)
public gotoAndPlay(frame:Object) : Void

Inicia la reproducción del archivo SWF en el fotograma especificado. Para especificar una escena además de un fotograma, utilice gotoAndPlay(). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
frame:Object

- Número que representa el número de fotograma o la cadena que representa la etiqueta del fotograma al que se envía la cabeza lectora. Ejemplo

El ejemplo siguiente utiliza la propiedad _framesloaded para iniciar un archivo SWF cuando se han cargado todos los fotogramas. Si no están cargados todos los fotogramas, la propiedad _xscale de la instancia de clip de película loader aumenta proporcionalmente para crear una barra de progreso.

450

Clases de ActionScript

Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo:
var pctLoaded:Number = Math.round(this.getBytesLoaded()/ this.getBytesTotal()*100); bar_mc._xscale = pctLoaded;

Añada el siguiente código al fotograma 2:
if (this._framesloaded < this._totalframes) { this.gotoAndPlay(1); } else { this.gotoAndStop(3); }

Coloque el contenido sobre o detrás del fotograma 3. A continuación añada el código siguiente al fotograma 3:
stop();

Véase también
Función gotoAndPlay, Función play

gotoAndStop (método MovieClip.gotoAndStop)
public gotoAndStop(frame:Object) : Void

Traslada la cabeza lectora al fotograma especificado del clip de película y la detiene en dicho lugar. Para especificar una escena además de un fotograma, utilice gotoAndStop(). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
frame:Object

- Número del fotograma al que se envía la cabeza lectora.

Ejemplo El ejemplo siguiente utiliza la propiedad _framesloaded para iniciar un archivo SWF cuando se han cargado todos los fotogramas. Si no están cargados todos los fotogramas, la propiedad _xscale de la instancia de clip de película loader aumenta proporcionalmente para crear una barra de progreso. Introduzca el siguiente código ActionScript en el fotograma 1 de la línea de tiempo:
var pctLoaded:Number = Math.round(this.getBytesLoaded()/ this.getBytesTotal()*100); bar_mc._xscale = pctLoaded;

MovieClip

451

Añada el siguiente código al fotograma 2: if (this.onLoadInit = function(target_mc:MovieClip) { trace(target_mc.createEmptyMovieClip("image_mc". image_mcl. Véase también Función gotoAndStop.gotoAndPlay(1)._height+" pixels"). var image_mcl:MovieClipLoader = new MovieClipLoader()._framesloaded < this._name+" = "+target_mc. var mclListener:Object = new Object(). } Coloque el contenido sobre o detrás del fotograma 3. image_mcl. A continuación añada el código siguiente al fotograma 3: stop(). image_mc). mclListener.loadClip("example. Ejemplo El siguiente ejemplo de código muestra la altura y anchura de un clip de película en el panel Salida: this._width+" X "+target_mc. } else { this.jpg".getNextHighestDepth()). }. Véase también _width (propiedad MovieClip. this._height) public _height : Number Altura del clip de película._width) 452 Clases de ActionScript .addListener(mclListener)._totalframes) { this. expresada en píxeles.gotoAndStop(3). Función stop _height (propiedad MovieClip.

hitArea = circle_mc. Véase también _quality (propiedad MovieClip. Especifique 0 (baja calidad) para evitar el suavizado. el clip de película modificado adoptará de inmediato el nuevo comportamiento de área activa._quality._highquality) public _highquality : Number Desfasada desde Flash Player 7. el clip de película square_mc detecta que se ha hecho clic. Ejemplo El ejemplo siguiente configura el clip de película circle_mc como área activa del clip de película square_mc. Puede cambiar la propiedad hitArea en cualquier momento._highquality = 2. Especifique 2 (mejor calidad) para aplicar alta calidad con el suavizado de mapa de bits siempre activado. que suaviza los mapas de bits si el archivo SWF no contiene animación._highquality (propiedad MovieClip. Ejemplo El siguiente código ActionScript especifica la aplicación de visualización suavizada de la mejor calidad al archivo SWF.hitArea) public hitArea : Object Designa otro clip de película para que actúe como área activa de un clip de película. se detectará la condición de "activa" de su forma gráfica aunque no sea visible. Si la propiedad hitArea no existe o tiene el valor nullo undefined. se utilizará el propio clip de película como área activa. Especifique 1 (alta calidad) para aplicar la visualización suavizada. No es preciso que el clip de película designado como área activa sea visible.onRelease = function() { MovieClip 453 . La propiedad hitArea puede leerse de un objeto prototipo. Propiedad _quality hitArea (propiedad MovieClip. Esta propiedad está desfasada y en su lugar debe utilizarse MovieClip._quality). El valor de la propiedad hitArea puede ser una referencia a un objeto de clip de película. Esta propiedad puede sobrescribir a la propiedad global _highquality. square_mc. Coloque los dos clips de película en el escenario y pruebe el documento. my_mc. Al hacer clic en circle_mc. square_mc. Especifica el nivel de visualización suavizada que se aplica al archivo SWF actual.

circle_mc. y: Number La coordenada y del área activa en el escenario.hitTest) hitTest (método MovieClip. según la configuración de shapeFlag. Véase también hitTest (método MovieClip._visible = false. También es posible configurar como false la propiedad visible del clip de película circle_mc para ocultar el área activa de square_mc. Las coordenadas x e y se definen en el espacio de coordenadas globales. Si shapeFlag se configura como true.trace("hit! " + this.El valor booleano true si el clip de película se solapa con el área activa especificada. Esta evaluación resulta útil para determinar si el clip de película se encuentra dentro de un área activa especificada. }. se devolverá el valor true. El parámetro target normalmente representa un botón o campo de introducción de texto. shapeFlag: Boolean . Este parámetro sólo puede especificarse si el área activa se identifica empleando los parámetros de coordenadas x e y target: Object El trazado de destino del área activa que puede solaparse con la instancia especificada por el clip de película._name). 454 Clases de ActionScript . si x e y se solapan en algún punto. false en caso contrario. Sintaxis 2: Evalúa los recuadros de delimitación del destino (target) y la instancia especificada y devuelve true si se solapan o cortan en algún punto. Valor devuelto Boolean .Valor booleano que especifica si debe evaluarse la forma completa de la instancia especificada (true) o sólo el recuadro de delimitación (false). Parámetrosx: Number La coordenada x del área activa en el escenario. sólo se evaluará el área del escenario que ocupa la instancia en sí y. Sintaxis 1: Compara las coordenadas x e y con la forma o el recuadro de delimitación de la instancia especificada.hitTest) public hitTest() : Boolean Evalúa el clip de película para comprobar si se superpone o corta con el área activa identificada mediante los parámetros de coordenadas target o x e y.

Si no se indica ningún valor.startDrag(). }. miterLimit:Number) : Void Especifica un estilo de línea que Flash utilizará para las posteriores llamadas a lineTo() y curveTo() hasta que llame a lineStyle() con otros parámetros. no se traza ninguna línea. Véase también getBounds (método MovieClip. El valor 0 indica grosor muy fino. Puede efectuar una llamada a lineStyle() en mitad de un trazado para especificar diferentes estilos para los distintos segmentos de línea de un trazado. Flash utiliza 0x000000 (negro).Entero que indica el grosor de la línea en puntos. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. square_mc. rojo es 0xFF0000. noScale:String.stopDrag(). Flash Player utiliza 0. if (this. alpha:Number. Parámetros thickness:Number . rgb:Number .Ejemplo El ejemplo siguiente utiliza hitTest() para determinar si el clip de película circle_mc se solapa con el clip de película square_mc cuando el usuario suelta el botón del ratón: square_mc. el intérprete de Flash utiliza 255. los valores válidos son del 0 al 255. Si no se especifica ningún número o si el parámetro es undefined.onPress = function() { this. jointStyle:String. rgb:Number. capsStyle:String.getBounds). el grosor máximo es 255. MovieClip 455 .onRelease = function() { this.Valor de color hexadecimal (por ejemplo.globalToLocal). Nota:las llamadas a clear() volverán a establecer el estilo de línea con el valor undefined.hitTest(circle_mc)) { trace("you hit the circle"). globalToLocal (método MovieClip. pixelHinting:Boolean.) de la línea. Si se pasa un valor superior a 255.lineStyle) public lineStyle(thickness:Number. azul es 0x0000FF. localToGlobal (método MovieClip. etc. } }.localToGlobal) lineStyle (método MovieClip. Si se pasa un valor inferior a 0.

createEmptyMovieClip("triangle_mc".lineTo(100.moveTo(200. Si el clip de película en el que está dibujando incluye contenido creado con las herramientas de dibujo de Flash. Si llama a lineTo() antes de realizar ninguna llamada al método moveTo(). Si falta alguno de los parámetros. 1). triangle_mc. Véase también beginFill (método MovieClip. 0xff00ff. triangle_mc.lineTo) public lineTo(x:Number.beginFill). triangle_mc. curveTo (método MovieClip. this. y). triangle_mc.lineStyle(5. pixelHinting:Boolean noScale:String - - capsStyle:String jointStyle:String miterLimit:Number Ejemplo El código siguiente dibuja un triángulo de 5 píxeles con línea sólida magenta y sin relleno. y:Number) : Void Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x.beginGradientFill).lineTo).alpha:Number . 100). triangle_mc. si el valor es mayor que 100. 300). los valores válidos son del 0 al 100. beginGradientFill (método MovieClip. Si el valor es inferior a 0. 456 Clases de ActionScript . 200). este método falla y la posición de dibujo actual no cambia.lineTo(300. se adoptará la posición de dibujo predeterminada (0.0). clear (método MovieClip. Flash utiliza 0.lineTo(200.curveTo). 300).clear). Flash utiliza 100 (continuo). Flash utiliza 100. las llamadas a lineTo() se dibujarán debajo de este contenido. la posición de dibujo actual se establece posteriormente como (x. 200).moveTo) lineTo (método MovieClip. lineTo (método MovieClip.Entero que indica el valor alfa del color de la línea. moveTo (método MovieClip. y). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Si no se indica ningún valor.

Parámetros
x:Number

- Entero que indica la posición horizontal con respecto al punto de registro del clip de película principal. - Entero que indica la posición vertical con respecto al punto de registro del clip de película principal. Ejemplo El ejemplo siguiente dibuja un triángulo con una línea continua magenta de 5 píxeles y un relleno azul parcialmente transparente:

y:Number

this.createEmptyMovieClip("triangle_mc", 1); triangle_mc.beginFill(0x0000FF, 30); triangle_mc.lineStyle(5, 0xFF00FF, 100); triangle_mc.moveTo(200, 200); triangle_mc.lineTo(300, 300); triangle_mc.lineTo(100, 300); triangle_mc.lineTo(200, 200); triangle_mc.endFill();

Véase también
beginFill (método MovieClip.beginFill), createEmptyMovieClip (método MovieClip.createEmptyMovieClip), endFill (método MovieClip.endFill), lineStyle (método MovieClip.lineStyle), moveTo (método MovieClip.moveTo)

loadMovie (método MovieClip.loadMovie)
public loadMovie(url:String, [method:String]) : Void

Carga un archivo SWF o JPEG en un clip de película en Flash Player mientras se reproduce el archivo SWF original. Sugerencia:para controlar el progreso de la descarga, utilice MovieClipLoader.loadClip() en lugar del método loadMovie(). Sin el método loadMovie(), Flash Player muestra un único archivo SWF y luego se cierra. El método loadMovie() permite mostrar varios archivos SWF a la vez y cambiar entre archivos SWF sin cargar otro documento HTML. Un archivo SWF o imagen cargada en un clip de película hereda las propiedades de posición, giro y escala del clip de película. Puede utilizar la ruta de destino del clip de película para emplear como destino el archivo SWF cargado.

MovieClip

457

Cuando se realice una llamada al método loadMovie(), defina la propiedad MovieClip._lockroot en true en la película de cargador, tal como se muestra en el ejemplo siguiente. Si no establece _lockroot en true en la película de cargador, todas las referencias a _root que contenga la película cargada señalan a _root del cargador en lugar de a _root de la película cargada.
myMovieClip._lockroot = true;

Utilice el método MovieClip.unloadMovie() para eliminar los archivos o imágenes SWF cargados con el método loadMovie(). Utilice el método MovieClip.loadVariables(), el objeto XML, Flash Remoting u objetos compartidos en tiempo de ejecución para mantener el archivo SWF activo y cargar nuevos datos en él. La utilización de controladores de evento con MovieClip.loadMovie() puede producir resultados impredecibles. Si asocia un controlador de eventos a un botón mediante on(), o si crea un controlador dinámico empleando un método de controlador de eventos como MovieClip.onPress, y posteriormente efectúa una llamada a loadMovie(), el controlador de eventos no permanecerá después de cargarse el nuevo contenido. No obstante, si asocia un controlador de eventos a un clip de película utilizando onClipEvent() u on() y luego efectúa una llamada a loadMovie() en dicho clip de película, el controlador de eventos permanecerá después de cargarse el nuevo contenido. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
url:String

- URL absoluto o relativo del archivo SWF o JPEG que se va a cargar. Una ruta relativa debe ser relativa al archivo SWF en el nivel 0. Las URL absolutas deben incluir la referencia al protocolo, como http:// o file:///.

[opcional] - Especifica un método HTTP para enviar o cargar variables. El parámetro debe ser la cadena GET o POST. Si no necesita enviar variables, omita este parámetro. El método GET añade las variables al final de la URL y se utiliza para un número reducido de variables. El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas.
method:String

458

Clases de ActionScript

Ejemplo El ejemplo siguiente crea dinámicamente un nuevo de clip de película, después, crea un elemento secundario en dicho clip de película y carga una imagen PNG en el elemento secundario. De este modo el elemento principal conserva los valores de instancia que se asignaron antes de realizar la llamada a loadMovie.
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth()); mc.onRelease = function():Void { trace(this.image._url); // http://www.w3.org/Icons/w3c_main.png } var image:MovieClip = mc.createEmptyMovieClip("image", mc.getNextHighestDepth()); image.loadMovie("http://www.w3.org/Icons/w3c_main.png");

Véase también
_lockroot (propiedad MovieClip._lockroot), unloadMovie (método MovieClip.unloadMovie), loadVariables (método MovieClip.loadVariables), loadMovie (método MovieClip.loadMovie), onPress (controlador MovieClip.onPress), MovieClipLoader, Controlador onClipEvent, Controlador on, Función loadMovieNum, Función unloadMovie, Función unloadMovieNum

loadVariables (método MovieClip.loadVariables)
public loadVariables(url:String, [method:String]) : Void

Lee datos de un archivo externo y establece los valores de variables en el clip de película. El archivo externo puede ser un archivo de texto generado por ColdFusion, un script CGI, Active Server Page (ASP) o un script PHP o cualquier archivo de texto que tenga los formatos correctos. El archivo puede contener cualquier número de variables. El método loadVariables se puede utilizar además para actualizar las variables del clip de película activo con nuevos valores. El método loadVariables exige que el texto de la URL esté en formato MIME estándar:application/x-www-form-urlencoded (formato de script CGI). En archivos SWF que se ejecuten en una versión anterior a Flash Player 7, url debe estar en el mismo superdominio que el archivo SWF que emite esta llamada. El superdominio puede obtenerse eliminando el componente situado más a la izquierda de la URL de un archivo. Por ejemplo, un archivo SWF situado en www.someDomain.com puede cargar datos de una fuente situada en store.someDomain.com porque ambos archivos se encuentran en el mismo superdominio, denominado someDomain.com.

MovieClip

459

En archivos SWF de cualquier versión que se ejecuten en Flash Player 7 o versiones posteriores, url debe estar exactamente en el mismo dominio que el archivo SWF que emite esta llamada. Por ejemplo, un archivo SWF en www.someDomain.com puede cargar datos únicamente desde orígenes que también se encuentren en www.someDomain.com. Para cargar datos de un dominio distinto, puede colocar un archivo de política para distintos dominios en el servidor que aloja el origen de los datos a los que se obtiene acceso. Para cargar variables en un nivel específico, utilice loadVariablesNum() en lugar de loadVariables(). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros - URL absoluta o relativa del archivo externo que contiene las variables que se van a cargar. Si el archivo SWF que realiza esta llamada se ejecuta en un navegador Web, el valor url debe pertenecer al mismo dominio que el archivo SWF; para ver más detalles, consulte la sección "Descripción" más abajo.
url:String method:String [opcional] - Especifica un método HTTP para enviar variables. El parámetro

debe ser la cadena GET o POST. Si no se envía ninguna variable, omita este parámetro. El método GET añade las variables al final de la URL y se utiliza para un número reducido de variables. El método POST envía las variables en un encabezado HTTP independiente y se utiliza para enviar cadenas de variables largas. Ejemplo El ejemplo siguiente carga información de un archivo de texto denominado params.txt en el clip de película target_mc que se ha creado con createEmptyMovieClip(). La función setInterval() se utiliza para comprobar el progreso de la carga. El script busca en el archivo params.txt una variable denominada done.
this.createEmptyMovieClip("target_mc", this.getNextHighestDepth()); target_mc.loadVariables("params.txt"); function checkParamsLoaded() { if (target_mc.done == undefined) { trace("not yet."); } else { trace("finished loading. killing interval."); trace("-------------"); for (i in target_mc) { trace(i+": "+target_mc[i]); } trace("-------------"); clearInterval(param_interval); }

460

Clases de ActionScript

} var param_interval = setInterval(checkParamsLoaded, 100);

El archivo params.txt incluye el texto siguiente:
var1="hello"&var2="goodbye"&done="done"

Véase también
loadMovie (método MovieClip.loadMovie), Función loadVariablesNum, unloadMovie (método MovieClip.unloadMovie)

localToGlobal (método MovieClip.localToGlobal)
public localToGlobal(pt:Object) : Void

Convierte el objeto pt de coordenadas del clip de película (locales) en coordenadas del escenario (globales). El método MovieClip.localToGlobal() permite convertir los valores de las coordenadas x e y dadas, relativos a la esquina superior izquierda de un clip de película especificado, en valores relativos a la esquina superior izquierda del escenario. En primer lugar deber crear un objeto genérico con dos propiedades, x e y. Estos valores x e y (deben llamarse x e y) se denominan coordenadas locales porque son relativas a la esquina superior izquierda del clip de película. La propiedad x representa el desplazamiento horizontal con respecto a la esquina superior izquierda del clip de película. En otras palabras, representa la distancia del punto hacia la derecha. Por ejemplo, si x = 50, el punto queda 50 píxeles a la derecha de la esquina superior izquierda. La propiedad y representa el desplazamiento vertical con respecto a la esquina superior izquierda del clip de película. En otras palabras, representa la distancia del punto hacia abajo. Por ejemplo, si y = 20, el punto queda 20 píxeles por debajo de la esquina superior izquierda. El código siguiente crea un objeto genérico con estas coordenadas.
var myPoint:Object = new Object(); myPoint.x = 50; myPoint.y = 20;

También es posible crear el objeto y asignarle simultáneamente los valores con un valor literal de objeto.
var myPoint:Object = {x:50, y:20};

Una vez creado un objeto punto con coordenadas locales, puede convertir las coordenadas en coordenadas globales. El método localToGlobal() no devuelve un valor porque cambia los valores de x e y del objeto genérico enviado como parámetro. Sustituye los valores relativos a un clip de película determinado (coordenadas locales) por valores relativos al escenario (coordenadas globales).

MovieClip

461

Por ejemplo, si crea un clip de película situado en el punto (_x:100, _y:100) y pasa un punto local que representa un punto próximo a la esquina superior izquierda del clip de película (x:10, y:10) al método localToGlobal() el método debería convertir los valores de x e y en coordenadas globales, en este caso (x:110, y:110). Esta conversión ocurre porque ahora las coordenadas x e y se expresan en relación con la esquina superior izquierda del escenario, no del clip de película. Las coordenadas del clip de película se han expresado con _x e _y porque son las propiedades de MovieClip utilizadas para definir los valores x e y para MovieClips. Sin embargo, el objeto genérico utiliza x e y sin subrayado. El siguiente código convierte las coordenadas x e y en coordenadas globales:
var myPoint:Object = {x:10, y:10}; // crea el objeto punto genérico this.createEmptyMovieClip("myMovieClip", this.getNextHighestDepth()); myMovieClip._x = 100; // _x para la posición x del clip de película myMovieClip._y = 100; // _y para la posición y del clip de película myMovieClip.localToGlobal(myPoint); trace ("x: " + myPoint.x); // salida: 110 trace ("y: " + myPoint.y); // salida: 110

Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
pt:Object

- Nombre o identificador de un objeto creado con la clase Object que especifica las coordenadas x e y como propiedades. Ejemplo

El ejemplo siguiente convierte las coordenadas x e y del objeto my_mc, coordenadas de clip de película (locales), en coordenadas del escenario (globales). El punto central del clip de película se refleja después de hacer clic en la instancia y arrastrarla.
this.createTextField("point_txt", this.getNextHighestDepth(), 0, 0, 100, 22); var mouseListener:Object = new Object(); mouseListener.onMouseMove = function() { var point:Object = {x:my_mc._width/2, y:my_mc._height/2}; my_mc.localToGlobal(point); point_txt.text = "x:"+point.x+", y:"+point.y; }; Mouse.addListener(mouseListener); my_mc.onPress = function () { this.startDrag(); };

462

Clases de ActionScript

my_mc.onRelease = function() { this.stopDrag(); };

Véase también
globalToLocal (método MovieClip.globalToLocal)

_lockroot (propiedad MovieClip._lockroot)
public _lockroot : Boolean

Un valor booleano que especifica a qué hace referencia _root cuando se carga un archivo SWF en un clip de película. La propiedad _lockroot tiene el valor undefined de manera predeterminada. Puede establecer esta propiedad dentro del archivo SWF que se está cargando o en el controlador que está cargando el clip de película. Por ejemplo, supongamos que tiene un documento denominado Games.fla que permite a un usuario elegir un juego y que carga dicho juego (por ejemplo, Chess.swf ) en el clip de película game_mc. Asegúrese de que después de haber cargado Games.swf, cualquier uso de _root en Chess.swf hace referencia a _root en Chess.swf (y no a _root en Games.swf ). Si tiene acceso a Chess.fla y lo publica con Flash Player 7 o una versión posterior, puede agregar esta sentencia en línea de tiempo principal de Chess.fla:
this._lockroot = true;

Si no dispone de acceso a Chess.fla (por ejemplo, si está cargando Chess.swf en chess_mc desde un sitio ajeno), podrá establecer la propiedad _lockroot de Chess.swf cuando la cargue. Sitúe el siguiente código ActionScript en la línea de tiempo principal de Games.fla:
chess_mc._lockroot = true;

En este caso, Chess.swf se podrá publicar para cualquier versión de Flash Player en tanto en cuanto Games.swf se publique para Flash Player 7 o posterior. Cuando se realice una llamada al método loadMovie(), defina la propiedad MovieClip._lockroot en true en la película de cargador, tal como se muestra en el código siguiente. Si no establece _lockroot en true en la película de cargador, todas las referencias a _root que contenga la película cargada señalan a _root del cargador en lugar de a _root de la película cargada:
myMovieClip._lockroot = true;

MovieClip

463

Ejemplo En el ejemplo siguiente, lockroot.fla tiene _lockroot aplicado en el archivo SWF principal. Si está cargado en otro documento FLA, _root siempre hace referencia al ámbito de lockroot.swf, lo que ayuda a prevenir conflictos. Sitúe el siguiente código ActionScript en la línea de tiempo principal de lockroot.fla:
this._lockroot = true; _root.myVar = 1; _root.myOtherVar = 2; trace("from lockroot.swf"); for (i in _root) { trace(" "+i+" -> "+_root[i]); } trace("");

que obtiene la siguiente información:
from lockroot.swf myOtherVar -> 2 myVar -> 1 _lockroot -> true $version -> WIN 7,0,19,0

El ejemplo siguiente carga dos archivos SWF, lockroot.swf y nolockroot.swf. El documento lockroot.fla contiene el código ActionScript del ejemplo anterior. El archivo FLA nolockroot tiene el siguiente código insertado en el fotograma Frame de la línea de tiempo:
_root.myVar = 1; _root.myOtherVar = 2; trace("from nolockroot.swf"); for (i in _root) { trace(" "+i+" -> "+_root[i]); } trace("");

El archivo lockroot.swf tiene aplicado lockroot, no así nolockroot.swf. Una vez cargados los archivos, cada uno muestra los valores de las variables de sus ámbitos _root. Inserte el siguiente código ActionScript en la línea de tiempo principal del documento FLA:
this.createEmptyMovieClip("lockroot_mc", this.getNextHighestDepth()); lockroot_mc.loadMovie("lockroot.swf"); this.createEmptyMovieClip("nolockroot_mc", this.getNextHighestDepth()); nolockroot_mc.loadMovie("nolockroot.swf"); function dumpRoot() { trace("from current SWF file"); for (i in _root) { trace(" "+i+" -> "+_root[i]); } trace(""); } dumpRoot();

464

Clases de ActionScript

que obtiene la siguiente información:
from current SWF file dumpRoot -> [type Function] $version -> WIN 7,0,19,0 nolockroot_mc -> _level0.nolockroot_mc lockroot_mc -> _level0.lockroot_mc from nolockroot.swf myVar -> 1 i -> lockroot_mc dumpRoot -> [type Function] $version -> WIN 7,0,19,0 nolockroot_mc -> _level0.nolockroot_mc lockroot_mc -> _level0.lockroot_mc from lockroot.swf myOtherVar -> 2 myVar -> 1

El archivo que no tiene _lockroot aplicado también contiene todas las demás variables que contiene el archivo SWF raíz. Si no tiene acceso a nolockroot.fla, puede utilizar el siguiente código ActionScript añadido a la línea de tiempo principal para cambiar _lockroot en el documento FLA principal precedente:
this.createEmptyMovieClip("nolockroot_mc", this.getNextHighestDepth()); nolockroot_mc._lockroot = true; nolockroot_mc.loadMovie("nolockroot.swf");

que entonces obtendría lo siguiente:
from current SWF file dumpRoot -> [type Function] $version -> WIN 7,0,19,0 nolockroot_mc -> _level0.nolockroot_mc lockroot_mc -> _level0.lockroot_mc from nolockroot.swf myOtherVar -> 2 myVar -> 1 from lockroot.swf myOtherVar -> 2 myVar -> 1

Véase también
Propiedad _root, _lockroot (propiedad MovieClip._lockroot), attachMovie (método MovieClip.attachMovie), loadMovie (método MovieClip.loadMovie), onLoadInit (detector de eventos MovieClipLoader.onLoadInit)

MovieClip

465

moveTo (método MovieClip.moveTo)
public moveTo(x:Number, y:Number) : Void

Mueve la posición de dibujo actual a (x, y). Si falta alguno de los parámetros, este método falla y la posición de dibujo actual no cambia. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Parámetros
x:Number

- Entero que indica la posición horizontal con respecto al punto de registro del clip de película principal. - Entero que indica la posición vertical con respecto al punto de registro del clip de película principal. Ejemplo El ejemplo siguiente dibuja un triángulo con una línea continua magenta de 5 píxeles y un relleno azul parcialmente transparente:

y:Number

this.createEmptyMovieClip("triangle_mc", 1); triangle_mc.beginFill(0x0000FF, 30); triangle_mc.lineStyle(5, 0xFF00FF, 100); triangle_mc.moveTo(200, 200); triangle_mc.lineTo(300, 300); triangle_mc.lineTo(100, 300); triangle_mc.lineTo(200, 200); triangle_mc.endFill();

Véase también
createEmptyMovieClip (método MovieClip.createEmptyMovieClip), lineStyle (método MovieClip.lineStyle), lineTo (método MovieClip.lineTo)

_name (propiedad MovieClip._name)
public _name : String

Nombre de instancia del clip de película. Véase también
_name (propiedad Button._name)

466

Clases de ActionScript

nextFrame (método MovieClip.nextFrame)
public nextFrame() : Void

Traslada la cabeza lectora al siguiente fotograma y la detiene en dicho punto. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Ejemplo El ejemplo siguiente utiliza _framesloaded y nextFrame() para cargar contenido en un archivo SWF. No añada ningún código al fotograma 1, pero añada el siguiente código ActionScript en el fotograma 2 de la línea de tiempo:
if (this._framesloaded >= 3) { this.nextFrame(); } else { this.gotoAndPlay(1); }

A continuación, añada el código siguiente (y el contenido que desee cargar) al fotograma 3:
stop();

Véase también
Función nextFrame, Función prevFrame, prevFrame (método MovieClip.prevFrame)

onData (controlador MovieClip.onData)
onData = function() {}

Se invoca cuando un clip de película recibe datos de una llamada MovieClip.loadVariables() o MovieClip.loadMovie(). Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Este controlador sólo puede se utilizar con clips de película para los que disponga de símbolo en la biblioteca asociada a la clase. Si desea que se invoque el controlador de eventos cuando un clip de película concreto reciba datos, deberá utilizar onClipEvent() en lugar de este controlador. Este último controlador se invoca cuando algún clip de película recibe datos. Ejemplo El ejemplo siguiente ilustra cómo utilizar correctamente el método MovieClip.onData() y onClipEvent(data).

MovieClip

467

El símbolo symbol_mc es un símbolo de clip de película de la biblioteca. Está vinculado a la clase MovieClip. La primera función que se muestra a continuación se activa para cada instancia de symbol_mc cuando recibe datos. dynamic_mc es un clip de película que se carga con MovieClip.loadMovie(). El código que utiliza dynamic_mc intenta llamar a una función cuando se carga el clip de película, pero no funciona. El archivo SWF cargado debe ser un símbolo de la biblioteca asociado a la clase MovieClip. La última función utiliza onClipEvent(data). El controlador de eventos onClipEvent() se invoca para cualquier clip de película que reciba datos, se encuentre o no en la biblioteca. Por lo tanto, la última función de este ejemplo se invoca cuando se crea una instancia de symbol_mc y también cuando se carga replacement.swf.
// La siguiente función se activa para cada instancia de symbol_mc // cuando recibe datos. symbol_mc.onData = function() { trace("The movie clip has received data"); } // Este código intenta llamar a la función cuando se carga el clip, // pero no funcionará, ya que el archivo SWF no es un símbolo // de la biblioteca asociado a la clase MovieClip. function output() { trace("Will never be called."); } dynamic_mc.onData = output; dynamic_mc.loadMovie("replacement.swf"); // La siguiente función se invoca para cualquier clip de película que // reciba datos, esté o no en la biblioteca. onClipEvent(data) { trace("The movie clip has received data"); }

Véase también
Controlador onClipEvent

468

Clases de ActionScript

onDragOut (controlador MovieClip.onDragOut)
onDragOut = function() {}

Se invoca cuando se presiona el botón del ratón y el puntero se desplaza fuera del objeto. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Nota: este controlador de eventos se admite en Flash Lite sólo si System.capabilities.hasMouse es true o System.capabilities.hasStylus es true. Ejemplo El ejemplo siguiente define una función para el método onDragOut que envía una acción trace() al panel Salida:
my_mc.onDragOut = function () { trace ("onDragOut called"); }

Véase también
onDragOver (controlador MovieClip.onDragOver)

onDragOver (controlador MovieClip.onDragOver)
onDragOver = function() {}

Se invoca cuando el puntero se arrastra fuera del clip de película y luego se pasa por encima de éste. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Nota: este controlador de eventos se admite en Flash Lite sólo si System.capabilities.hasMouse es true o System.capabilities.hasStylus es true. Ejemplo El ejemplo siguiente define una función para el método onDragOver que envía una acción trace() al panel Salida:
my_mc.onDragOver = function () { trace ("onDragOver called"); }

Véase también
onDragOut (controlador MovieClip.onDragOut)

MovieClip

469

onEnterFrame (controlador MovieClip.onEnterFrame)
onEnterFrame = function() {}

Se invoca de manera repetida con la velocidad de fotogramas del archivo SWF. La función que se asigne al controlador de eventos onEnterFrame se procesa antes que cualquier otro código ActionScript que este asignado a los fotogramas afectados. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Ejemplo El ejemplo siguiente define una función para el controlador de eventos onEnterFrame que envía una acción trace() al panel Salida:
my_mc.onEnterFrame = function () { trace ("onEnterFrame called"); }

onKeyDown (controlador MovieClip.onKeyDown)
onKeyDown = function() {}

Se invoca cuando un clip de película está resaltado y se presiona una tecla. El controlador de eventos onKeyDown se invoca sin parámetros. Puede utilizar los métodos Key.getAscii() y Key.getCode() para determinar qué tecla ha presionado el usuario. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. El controlador de eventos onKeyDown sólo funciona si el clip de película tiene la selección de entrada activada y establecida. En primer lugar, la propiedad MovieClip.focusEnabled debe establecerse como true para el clip de película. Seguidamente, el clip debe recibir la selección de entrada. Esto puede hacerse utilizando Selection.setFocus() o estableciendo la tecla Tabulador para que se desplace al clip de película. Si utiliza Selection.setFocus(), la ruta del clip de película deberá pasarse a Selection.setFocus(). Es fácil que otros elementos reciban la selección de entrada después de que un usuario mueva el ratón.

470

Clases de ActionScript

Ejemplo El ejemplo siguiente define una función para el método onKeyDown() que envía una acción trace() al panel Salida. Cree un clip de película denominado my_mc y añada el siguiente código ActionScript al archivo FLA o AS:
my_mc.onKeyDown = function () { trace ("key was pressed"); }

El clip de película debe estar seleccionado para que el controlador de eventos onKeyDown funcione. Añada el siguiente código ActionScript para establecer la selección de entrada:
my_mc.tabEnabled = true; my_mc.focusEnabled = true; Selection.setFocus(my_mc);

Si utiliza el tabulador para acceder al clip de película y presiona una tecla, se mostrará key was en el panel Salida. Sin embargo, esto no ocurre si se desplaza el ratón, porque el clip de película deja de estar seleccionado. Por lo tanto, debería utilizar Key.onKeyDown en la mayoría de los casos.
pressed

Véase también
getAscii (método Key.getAscii), getCode (método Key.getCode), focusEnabled (propiedad MovieClip.focusEnabled), setFocus (método Selection.setFocus), onKeyDown (detector de eventos Key.onKeyDown), onKeyUp (controlador MovieClip.onKeyUp)

onKeyUp (controlador MovieClip.onKeyUp)
onKeyUp = function() {}

Se invoca cuando se suelta una tecla. El controlador de eventos onKeyUp se invoca sin parámetros. Puede utilizar los métodos Key.getAscii() y Key.getCode() para determinar qué tecla ha presionado el usuario. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. El controlador de eventos onKeyUp sólo funciona si el clip de película tiene la selección de entrada activada y establecida. En primer lugar, la propiedad MovieClip.focusEnabled debe establecerse como true para el clip de película. Seguidamente, el clip debe recibir la selección de entrada. Esto puede hacerse utilizando Selection.setFocus() o estableciendo la tecla Tabulador para que se desplace al clip de película.

MovieClip

471

focusEnabled (propiedad MovieClip. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.onKeyDown) onKillFocus (controlador MovieClip.onKillFocus) onKillFocus = function(newFocus:Object) {} Se invoca cuando un clip de película deja de tener la selección de entrada.setFocus(). setFocus (método Selection. Si no hay ningún objeto seleccionado con el teclado. que es un objeto que representa al nuevo objeto seleccionado. newFocus. onKeyDown (controlador MovieClip. El método onKillFocus recibe un parámetro.onKeyUp = function () { trace ("onKey called").setFocus().onKeyDown).getAscii). newFocus contendrá el valor null (nulo). Parámetros newFocus:Object .focusEnabled = true. 472 Clases de ActionScript .focusEnabled). } El ejemplo siguiente define la selección de entrada: my_mc. Véase también getAscii (método Key.getCode). getCode (método Key. onKeyDown (detector de eventos Key.setFocus(my_mc). Es fácil que otros elementos reciban la selección de entrada después de que un usuario mueva el ratón.setFocus). Ejemplo trace() El ejemplo siguiente define una función para el método onKeyUp que envía una acción al panel Salida: my_mc. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. la ruta del clip de película deberá pasarse a Selection.El objeto que recibe la selección de entrada. Selection.Si utiliza Selection.

my_mc.as class Oval extends MovieClip{ public function onLoad () { MovieClip 473 . deberá utilizar onClipEvent(load) o la clase MovieClipLoader en lugar de este controlador. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca.onLoad) onLoad = function() {} Se invoca cuando se crea una instancia del clip de película y ésta aparece en la línea de tiempo. Asegúrese de que el archivo de clase se coloca en la ruta adecuada: // contenido de Oval.Ejemplo El ejemplo siguiente muestra información sobre el clip de película que deja de estar seleccionado y la instancia que está seleccionada actualmente. Ejemplo Este ejemplo muestra cómo utilizar el controlador de eventos onLoad en una definición de clase de ActionScript 2.onRelease = Void. new focus is: "+newFocus).onSetFocus) onLoad (controlador MovieClip. En primer lugar. cree un archivo de clase llamado Oval.loadMovie() para cargar dinámicamente un archivo SWF.onRelease = Void. other_mc.onKillFocus = function(newFocus) { trace("onKillFocus called.onLoad. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. cuando utilice MovieClip.0 que amplía la clase MovieClip.as y defina un método de clase llamado onLoad(). A diferencia de MovieClip. En el escenario hay dos clips de película denominados my_mc y other_mc. Véase también onSetFocus (controlador MovieClip. Puede añadir el siguiente código ActionScript al documento FLA o AS: my_mc. Este controlador sólo puede se utilizar con clips de película para los que disponga de símbolo en la biblioteca asociada a la clase. los demás controladores se invocan cuando se carga cualquier clip de película. por ejemplo. la información se mostrará en el panel Salida. Si presiona la tecla Tabulador para desplazarse entre las dos instancias. }. Si desea que se invoque un controlador de eventos al cargarse un determinado clip de película.

capabilities. Deje la opción Exportar en primer fotograma sin seleccionar y haga clic en Aceptar. Véase también loadMovie (método MovieClip. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Finalmente. } } En segundo lugar. Ejemplo El ejemplo siguiente define una función para el método onMouseDown que envía una acción trace() al panel Salida: my_mc. En tercer lugar.0 Class" con la palabra "Oval" (sin comillas). en el menú emergente. Controlador onClipEvent. realice una prueba de la película.hasMouse es true o System. desplácese al primer fotograma del archivo e introduzca el código siguiente en el panel Acciones: var myOval:Oval = Oval(attachMovie("Oval". Haga clic en cualquier punto del símbolo en el panel Biblioteca (normalmente con el botón derecho del ratón) y seleccione Vinculación. debería ver el texto de salida "onLoad called". Haga clic en "Export for ActionScript" y rellene los campos "Identifier" y "ActionScript 2.loadMovie).1)).trace ("onLoad called").onMouseDown) onMouseDown = function() {} Se invoca cuando se presiona el botón del ratón.onMouseDown = function () { trace ("onMouseDown called")."Oval_1".hasStylus es true. Nota: este controlador de eventos se admite en Flash Lite sólo si System.. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.capabilities. } 474 Clases de ActionScript . MovieClipLoader onMouseDown (controlador MovieClip. cree un símbolo de clip de película en la biblioteca y denomínelo Oval..

} MovieClip 475 . Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca.onMouseMove) onMouseMove = function() {} Se invoca cuando se mueve el ratón. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Ejemplo El ejemplo siguiente define una función para el método onMouseUp que envía una acción trace() al panel Salida: my_mc.onMouseMove (controlador MovieClip.capabilities. Ejemplo El ejemplo siguiente define una función para el método onMouseMove que envía una acción trace() al panel Salida: my_mc. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca.onMouseMove = function () { trace ("onMouseMove called").onMouseUp = function () { trace ("onMouseUp called"). } onMouseUp (controlador MovieClip.hasStylus es true.hasMouse es true o System. Nota: este controlador de eventos se admite en Flash Lite sólo si System. Nota: este controlador de eventos se admite en Flash Lite sólo si System.capabilities. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.capabilities.onMouseUp) onMouseUp = function() {} Se invoca cuando se suelta el botón del ratón.hasMouse es true.

} onRelease (controlador MovieClip.onRelease) onRelease = function() {} Se invoca cuanto se suelta el botón del ratón sobre un clip de película. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca.onPress = function () { trace ("onPress called"). 476 Clases de ActionScript . Ejemplo El ejemplo siguiente define una función para el método onPress que envía una acción trace() al panel Salida: my_mc. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.onRelease = function() { trace ("onRelease called"). } onReleaseOutside (controlador MovieClip. Puede definir la función en la biblioteca. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.onReleaseOutside) onReleaseOutside = function() {} Se invoca cuando se presiona el botón del ratón dentro del área del clip de película y haberlos soltado después fuera del área. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Ejemplo El ejemplo siguiente define una función para el método onRelease que envía una acción trace() al panel Salida: my_mc. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca.onPress) onPress = function() {} Se invoca cuando el usuario hace clic en el ratón mientras el puntero se encuentra sobre el clip de película.onPress (controlador MovieClip.

Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos.onRollOver) onRollOver = function() {} Se invoca cuando el puntero se desplaza sobre el área de un clip de película.hasMouse es true o System.hasStylus es true.onReleaseOutside = function () { trace ("onReleaseOutside called"). } onRollOver (controlador MovieClip. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Ejemplo El ejemplo siguiente define una función para el método onRollOut que envía una acción trace() al panel Salida: my_mc.onRollOut) onRollOut = function() {} Se invoca cuando el puntero se desplaza fuera del área de un clip de película.capabilities. } MovieClip 477 . Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca.onRollOver = function () { trace ("onRollOver called"). } onRollOut (controlador MovieClip.capabilities. Ejemplo El ejemplo siguiente define una función para el método onRollOver que envía una acción trace() al panel Salida: my_mc.onRollOut = function () { trace ("onRollOut called").Nota: este controlador de eventos se admite en Flash Lite sólo si System. Ejemplo El ejemplo siguiente define una función para el método onReleaseOutside que envía una acción trace() al panel Salida: my_mc.

En el escenario hay dos clips de película denominados my_mc y other_mc.onSetFocus (controlador MovieClip. Ejemplo El ejemplo siguiente muestra información sobre el clip de película que tiene la selección de entrada y la instancia que estaba seleccionada anteriormente. } Si presiona la tecla Tabulador entre las dos instancias.onSetFocus = function(oldFocus) { trace("onSetFocus called. oldFocus contendrá un valor null (nulo). Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. my_mc. previous focus was: "+oldFocus). Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. la información se mostrará en el panel Salida.onKillFocus) 478 Clases de ActionScript . oldFocus contendrá la instancia del clip de película. El parámetro oldFocus es el objeto que deja de estar seleccionado. Añada el siguiente código ActionScript al documento FLA o AS: my_mc. Parámetros oldFocus:Object . Por ejemplo.onSetFocus) onSetFocus = function(oldFocus:Object) {} Se invoca cuando un clip de película recibe la selección de entrada. Si anteriormente no había ningún objeto seleccionado con el teclado.onRelease = Void. si el usuario presiona la tecla Tabulador para desplazar la selección del teclado de un clip de película a un campo de texto. other_mc.El objeto que deja de estar seleccionado. Véase también onKillFocus (controlador MovieClip.onRelease = Void.

} Al hacer clic en el clip de película. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos._parent._parent) public _parent : MovieClip Referencia al clip de película u objeto que contiene el clip de película u objeto actual.onRelease = function() { trace("You clicked the movie clip: "+this). trace("The parent of "+this. aparecerá la siguiente información en el panel Salida: You clicked the movie clip: _level0.onUnload = function () { trace ("onUnload called"). Flash procesa las acciones asociadas al controlador de eventos onUnload antes de asociar acciones al fotograma afectado. Ejemplo El ejemplo siguiente obtiene la referencia a un clip de película y su relación con la línea de tiempo principal. como se muestra a continuación: this.onUnload (controlador MovieClip.onUnload que envía una acción trace() al panel Salida: my_mc. El parámetro _parent es la referencia del objeto actual.my_mc The parent of my_mc is: _level0 MovieClip 479 ._alpha = 20. } _parent (propiedad MovieClip. Ejemplo El ejemplo siguiente define una función para el método MovieClip. Puede utilizar _parent para subir múltiples niveles en la lista de visualización. Utilice la propiedad _parent para especificar una ruta de acceso relativa a los clips de película u objetos que se encuentran por encima del clip de película u objeto actual. Cree un clip de película con el nombre de instancia my_mc y añádalo a la línea de tiempo principal.onUnload) onUnload = function() {} Se invoca en el primer fotograma después de que el clip de película se elimine de la línea de tiempo._name+" is: "+this._parent). Añada el siguiente código ActionScript al archivo FLA o AS: my_mc._parent.

onRelease = function() { this. Este código ActionScript es para un botón de clip de película denominado my_mc de la línea de tiempo principal: stop()._parent) play (método MovieClip. Ejemplo Utilice el siguiente código ActionScript para reproducir la línea de tiempo principal de un archivo SWF. my_mc._parent.play) public play() : Void Mueve la cabeza lectora por la línea de tiempo del clip de película._parent). _parent (propiedad TextField. Propiedad _root. my_btn.Véase también _parent (propiedad Button. Véase también Función play.stop().play(). gotoAndPlay (método MovieClip.prevFrame) public prevFrame() : Void Traslada la cabeza lectora al fotograma anterior y la detiene en dicho punto. Este código ActionScript es para un botón denominado my_btn de la línea de tiempo principal que reproduce un clip de película llamado animation_mc: animation_mc. Utilice el siguiente código ActionScript para reproducir la línea de tiempo de un clip de película en un archivo SWF.gotoAndPlay). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.play(). }. Función targetPath. 480 Clases de ActionScript . Función gotoAndPlay prevFrame (método MovieClip. }.onRelease = function () { animation_mc. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.

_parent. La propiedad _quality puede configurarse con los siguientes valores: Valor "LOW" "MEDIUM" Descripción Calidad de representación baja. Suavizado de gráficos Los gráficos no se suavizan. if (parent_mc._totalframes). } }._currentframe>1) { parent_mc.gotoAndStop(parent_mc. Las fuentes de dispositivo siempre se muestran dentadas y. Añada contenido a una serie de fotogramas de la línea de tiempo y añada el siguiente código ActionScript al fotograma 1 de la línea de tiempo: stop(). next_mc. } }. no se ven afectadas por la propiedad _quality. mientras que el botón next_mc la desplaza al fotograma siguiente._parent. } else { parent_mc. prev_mc. Este ajuste resulta adecuado para películas que no contengan texto. dos botones de clip de película controlan la línea de tiempo.gotoAndStop(1)._currentframe<parent_mc.onRelease = function() { var parent_mc:MovieClip = this._totalframes) { parent_mc.prevFrame(). El botón prev_mc desplaza la cabeza lectora al fotograma anterior. Los gráficos se suavizan empleando una cuadrícula de 2 x 2 píxeles. Calidad de representación media. Véase también Función prevFrame _quality (propiedad MovieClip. } else { parent_mc.Ejemplo En el ejemplo siguiente._quality) public _quality : String Establece o recupera la calidad de representación que se utiliza para un archivo SWF. if (parent_mc. MovieClip 481 .onRelease = function() { var parent_mc:MovieClip = this. por consiguiente.nextFrame().

swapDepths() para desplazar el clip de película a un valor de profundidad positivo.Valor "HIGH" Descripción Suavizado de gráficos Calidad de representación alta._quality = "LOW". se trata en realidad de una propiedad global. Los clips de película creados en la herramienta del entorno de edición tienen asignados valores de profundidad negativos de forma predeterminada. MovieClip. Este método no elimina clips de película asignados a valores de profundidad negativos. Los gráficos se suavizan empleando una cuadrícula de 4 x 4 píxeles.removeMovieClip) public removeMovieClip() : Void Elimina una instancia de clip de película creada por duplicateMovieClip(). por lo que puede especificar su valor simplemente como _quality. Ejemplo Este ejemplo establece en LOW la calidad de representación de un clip de película denominado my_mc: my_mc. en primer lugar utilice MovieClip. "BEST" Nota:aunque puede especificar esta propiedad para un objeto MovieClip. Véase también Propiedad _quality removeMovieClip (método MovieClip. Los gráficos se suavizan empleando una Esta es la calidad de representación cuadrícula de 4 x 4 píxeles. Para eliminar un clip de película que tiene asignado un valor negativo de profundidad. Calidad de representación muy alta.attachMovie().duplicateMovieClip(). 482 Clases de ActionScript . predeterminada de Flash.createEmptyMovieClip() o MovieClip. MovieClip.

unloadMovie() para eliminar el contenido del clip de película. que queda fuera del rango válido.round(Math. Las siguientes llamadas a getNextHighestDepth() devuelven 1048576. bugNum++. return randNum. addBug_btn. function addBug() { var thisBug:MovieClip = this. attachMovie (método MovieClip.duplicateMovieClip). puede utilizar swapDepths() para asignar un valor de profundidad válido o utilizar MovieClip. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.Nota: si utiliza componentes de la versión 2 y emplea MovieClip. quizá removeMovieClip() falle sin ninguna indicación.onRelease = function() { this. También puede emplear la clase DepthManager para asignar valores de profundidad pertenecientes al rango válido. createEmptyMovieClip (método MovieClip. max:Number):Number { var randNum:Number = Math. _y:randRange(50. function randRange(min:Number.attachMovie). bugNum. Al hacer clic en una instancia de clip de película.attachMovie("bug_id". Ejemplo Cada vez que haga clic en un botón en el ejemplo siguiente. thisBug. El método removeMovieClip() falla si encuentra un valor de profundidad fuera del rango válido. }. asociará una instancia de clip de película al escenario en una posición aleatoria. swapDepths (método MovieClip. la clase DepthManager reserva automáticamente las profundidades máxima (1048575) y mínima (-16383) disponibles para cursores y sugerencias. } Véase también Función duplicateMovieClip._parent.getNextHighestDepth() en lugar de la clase DepthManager para asignar valores de profundidad.onRelease = addBug. 500).random()*(max-min))+min. Cuando se utilizan componentes de la versión 2. eliminará esa instancia del archivo SWF.swapDepths) MovieClip 483 . "bug"+bugNum+"_mc". duplicateMovieClip (método MovieClip. 350)}).removeMovieClip().createEmptyMovieClip). Si necesita utilizar getNextHighestDepth() con componentes de la versión 2. } var bugNum:Number = 0. {_x:randRange(50.

moveTo(100. 100). Si hay fuentes de dispositivo en un clip de película con máscara._rotation += 15. my_mc. con respecto a su orientación original. No es posible configurar un clip de película de forma que sea su propia máscara (por ejemplo.lineTo(150. éstas se dibujarán pero no se enmascararán. Los valores comprendidos entre 0 y 180 representan un giro en el sentido de las agujas del reloj.onMouseUp= function() { this. triangle._rotation). 100). triangle.setMask) public setMask(mc:Object) : Void Convierte el clip de película del parámetro mc en una máscara que revela el clip de película especificado por el clip de película. _rotation (propiedad TextField._rotation) public _rotation : Number Especifica el giro del clip de película.lineTo(100. 484 Clases de ActionScript .createEmptyMovieClip("triangle"._rotation (propiedad MovieClip. mientras que los comprendidos entre 0 y -180 representan un giro en sentido contrario al de las agujas del reloj. El método setMask() permite a los clips de película de múltiples fotogramas con contenido complejo en múltiples capas actuar como máscaras (lo cual es posible utilizando capas de máscara). Los valores situados fuera de este rango se suman o restan de 360 para obtener un valor que sí esté comprendido en el rango. 100). Ejemplo El ejemplo siguiente crea dinámicamente un clip de película denominado triangle. Por ejemplo. Cuando ejecute el archivo SWF. }.lineTo(100. 150).setMask(my_mc))._rotation) setMask (método MovieClip. triangle._rotation = 90. triangle. expresado en grados. la sentencia my_mc. 100). triangle.beginFill(0x0000FF._rotation = 450 es igual que my_mc. haga clic en el clip de película para girarlo: this.getNextHighestDepth()). Véase también _rotation (propiedad Button. this. triangle.

Véase también Propiedad _soundbuftime MovieClip 485 .Si crea una capa de máscara que contiene un clip de película y luego le aplica el método setMask().Nombre de instancia de un clip de película que se va a enmascarar. _soundbuftime (propiedad MovieClip. Por ejemplo. UIMask. Al establecer esta propiedad para un objeto MovieClip. por lo que puede especificar su valor simplemente como _soundbuftime. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. puede tener un clip de película en una capa de máscara denominada UIMask que enmascare otra capa que contiene otro clip de película denominado UIMaskee. Para cancelar una máscara creada con ActionScript. Parámetros mc:Object . efectúa una llamada a UIMask._soundbuftime) public _soundbuftime : Number Especifica el número de segundos que un sonido debe acumularse previamente en el búfer antes de que comience a reproducirse sin interrupción. Nota:aunque puede especificar esta propiedad para un objeto MovieClip. El siguiente código cancela la máscara sin que ello afecte a la capa de máscara en la línea de tiempo.setMask(circleMask_mc). Ejemplo En este ejemplo se utiliza un clip de película circleMask_mc para enmascarar al clip de película theMaskee_mc. UIMask quedará enmascarada por UIMaskee a partir de ese punto. durante la reproducción del archivo SWF. la llamada a setMask() tiene prioridad y es irreversible.setMask(UIMaskee). Puede ser una cadena o un objeto MovieClip. Si. pase el valor null al método setMask(). theMaskee_mc. en realidad se define la propiedad global.setMask(null). se trata en realidad de una propiedad global que se aplica a todos los sonidos cargados.

0). 1).startDrag) public startDrag([lockCenter:Boolean].capabilities. lineTo(80.Valor relativo a las coordenadas del elemento principal del clip de película. [top:Number].capabilities. que especifican un rectángulo limitado para el clip de película.stopDrag() o hasta que otro clip de película pueda arrastrarse.Valor relativo a las coordenadas del elemento principal del clip de película.Valor relativo a las coordenadas del elemento principal del clip de película. [left:Number].startDrag (método MovieClip. lineTo(80. 0xCCCCCC). 60).hasStylus es true. 0). Nota: este evento se admite en Flash Lite sólo si System. top:Number right:Number [opcional] .createEmptyMovieClip("mc_1". lineTo(0. Parámetros [opcional] . lineTo(0. 486 Clases de ActionScript . with (mc_1) { lineStyle(1.Valor booleano que especifica si el clip de película arrastrable está bloqueado en el centro de la posición del ratón (true) o en el punto donde el usuario hizo clic por primera vez en el clip de película (false). lockCenter:Boolean left:Number [opcional] . [right:Number]. this. 60). que especifican un rectángulo limitado para el clip de película. [opcional] . [bottom:Number]) : Void Permite al usuario arrastrar el clip de película especificado. beginFill(0x4827CF). Sólo es posible arrastrar clips de película de uno en uno. Es posible continuar arrastrando el clip de película hasta que se detenga explícitamente mediante una llamada a MovieClip. que especifican un rectángulo limitado para el clip de película. 0). bottom:Number [opcional] .hasMouse es true o System. que especifican un rectángulo limitado para el clip de película. moveTo(0.Valor relativo a las coordenadas del elemento principal del clip de película. endFill(). Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. Ejemplo El ejemplo siguiente crea una instancia de clip de película que puede arrastrarse denominada mc_1.

System._droptarget).stop) public stop() : Void Detiene el clip de película que se está reproduciendo actualmente. Ejemplo El ejemplo siguiente muestra cómo detener un clip de película denominado aMovieClip: aMovieClip. Véase también _droptarget (propiedad MovieClip.startDrag().capabilities. Sólo es posible arrastrar clips de película de uno en uno. stopDrag (método MovieClip. MovieClip 487 . Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.stopDrag) public stopDrag() : Void Finaliza un método MovieClip. }. Véase también Función stop stopDrag (método MovieClip.} mc_1. }. Función startDrag.capabilities.stopDrag) stop (método MovieClip. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase.hasStylus Nota: este evento se admite en Flash Lite sólo si System. Un clip de película que puede arrastrarse mediante dicho método podrá arrastrarse hasta que se añada un método stopDrag() o hasta que se pueda arrastrar otro clip de película.hasMouse es true o es true.startDrag().stopDrag().onPress = function() { this.stop().onRelease = function() { this. mc_1.

startDrag). lineTo(80. lineTo(0. endFill().startDrag(). with (mc_1) { lineStyle(1. lineTo(0. 60).createEmptyMovieClip("mc_1". moveTo(0. Véase también _droptarget (propiedad MovieClip. 0).swapDepths) public swapDepths(target:Object) : Void Intercambia el apilamiento o nivel de profundidad (orden z). startDrag (método MovieClip. }. 0). lineTo(80. Ambos clips de película deben tener el mismo clip de película principal. de este clip de película con el clip de película especificado por el parámetro target o con el clip de película que ocupa actualmente el nivel de profundidad especificado en el parámetro target. 60). beginFill(0x4827CF). }.stopDrag(). 488 Clases de ActionScript . } mc_1.onRelease = function() { this. . this. Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase. 1).onPress = function() { this. la interpolación se detendrá. Si se está interpolando un clip de película cuando se llama a este método. El intercambio del nivel de profundidad de los clips de película provoca que un clip de película se sitúe delante o detrás del otro. mc_1._droptarget). 0). Función stopDrag swapDepths (método MovieClip.Ejemplo El ejemplo siguiente crea una instancia de clip de película que puede arrastrarse denominada mc_1. 0xCCCCCC).

tabChildren) public tabChildren : Boolean Determina si los elementos secundarios de un clip de película se incluyen en el orden de tabulación automático. Si el valor de tabChildren es false. }. El valor predeterminado es undefined. los elementos secundarios de un clip de película no se incluirán en el orden de tabulación automático. getNextHighestDepth (método MovieClip. getInstanceAtDepth (método MovieClip.Parámetros target:Object ■ . }.getDepth). Ambos clips de película deben tener el mismo clip de película principal. myMC2_mc.swapDepths(myMC2_mc).swapDepths(myMC1_mc).Este parámetro puede tener una de las dos formas siguientes: Un entero exclusivo que especifica la profundidad a la que debe colocarse el nuevo clip de película. ■ Ejemplo El ejemplo siguiente intercambia el orden de apilamiento de dos instancias de clip de película. Véase también Propiedad _level. MovieClip 489 . getDepth (método MovieClip. Una cadena que especifica la instancia de clip de película cuya profundidad se intercambiará con el clip de película al que se aplicará el método. Si la propiedad tabChildren tiene el valor undefined o true.onRelease = function() { this.onRelease = function() { this. los elementos secundarios de un clip de película se incluirán en el orden de tabulación automático.getNextHighestDepth) tabChildren (propiedad MovieClip. Superponga en el escenario dos instancias de clip de película denominadas myMC1_mc y myMC2_mc y después añada el siguiente código ActionScript a la línea de tiempo principal: myMC1_mc.getInstanceAtDepth).

490 Clases de ActionScript .tabIndex). Cambie la última línea de código por lo siguiente para incluir las instancias de clip de película secundarias de menu_mc en el orden de tabulación automático: menu_mc. por lo que cada elemento aparece como un botón.menu2_mc. menu_mc. el objeto se incluirá en el orden de tabulación automático.menu3_mc.onRelease = function(){}. el objeto se incluirá también en el orden de tabulación personalizado. Si la propiedad tabEnabled es undefined. menu_mc. Los elementos del interior del cuadro de lista deben quedar excluidos del orden de tabulación. tiene el valor undefined. Si tabEnabled se establece con el valor true. Para ello. menu_mc. La propiedad tabChildren no tiene ningún efecto si se utiliza la propiedad tabIndex. Sin embargo.tabChildren = false.onRelease = function(){}. El usuario puede hacer clic en cada elemento para seleccionarlo.onRelease. menu_mc.onRelease = function(){}. Véase también tabIndex (propiedad Button. El ejemplo siguiente desactiva la tabulación de todos los clips de película secundarios del interior de un clip de película principal denominado menu_mc: menu_mc.onRelease = function(){}. la propiedad tabChildren sólo afecta al orden de tabulación automático. menu_mc.onRelease = function(){}.menu4_mc. como MovieClip. la propiedad tabChildren del cuadro de lista debe configurarse como false. sólo el cuadro de lista propiamente dicho debe ser una tabulación.Ejemplo El widget cuadro de lista de la interfaz de usuario creado como un clip de película contiene varios elementos.tabChildren = true. Si la propiedad tabIndex también está configurada con un valor.tabEnabled). tabIndex (propiedad TextField.tabEnabled) public tabEnabled : Boolean Especifica si el clip de película se incluye en el orden de tabulación automático. tabEnabled (propiedad MovieClip. el objeto sólo se incluirá en el orden de tabulación automático si define al menos un controlador de clip de película.menu1_mc. tabIndex (propiedad MovieClip. De manera predeterminada.tabIndex) tabEnabled (propiedad MovieClip.tabIndex).

Véase también onRelease (controlador MovieClip.onRelease = function() {}. No obstante.tabChildren). el objeto no se incluirá en el orden de tabulación automático ni en el personalizado aunque se establezca la propiedad tabIndex.tabEnabled).tabEnabled = false. Si un objeto de un archivo SWF contiene una propiedad tabIndex. si MovieClip. El orden de tabulación personalizado no tiene en cuenta las relaciones jerárquicas de los objetos de un archivo SWF.tabEnabled) tabIndex (propiedad MovieClip.tabChildren tiene el valor true. myMC2_mc. La propiedad tabIndex debe ser un entero positivo.tabIndex) public tabIndex : Number Permite personalizar el orden de tabulación de los objetos de una película. El orden de tabulación personalizado sólo incluye objetos que tienen propiedades tabIndex. MovieClip 491 .onRelease = function() {}. Todos los objetos del archivo SWF que tengan propiedades tabIndex se incluirán en el orden de tabulación. myMC2_mc.tabIndex). tabIndex (propiedad MovieClip. tabEnabled (propiedad TextField. No utilice el mismo valor de tabIndex para varios objetos.Si tabEnabled tiene el valor false. tabChildren (propiedad MovieClip. tabEnabled (propiedad Button. Puede establecer tabIndex en una instancia de botón. se desactivará el orden de tabulación automático y el orden de tabulación se calculará a partir de las propiedades tabIndex de los objetos del archivo SWF. Un objeto que tenga un valor tabIndex de 1 precederá a otro objeto que tenga un valor tabIndex de 2. clip de película o campo de texto. los elementos secundarios del clip de película podrán incluirse en el orden de tabulación automático aunque tabEnabled tenga el valor false. Ejemplo El ejemplo siguiente no incluye myMC2_mc en el orden de tabulación automático: myMC1_mc.onRelease). Los objetos se ordenan conforme a lo que indiquen las propiedades tabIndex y en orden ascendente. myMC3_mc. La propiedad tabIndex tiene el valor undefined de manera predeterminada.onRelease = function() {}.

_target + ". myMC1_mc.tabIndex).Ejemplo El siguiente código ActionScript establece un orden de tabulación personalizado para tres instancias de clip de película. Utilice la función eval() para convertir la ruta de acceso de destino a notación con punto. for (var i in this) { if (typeof (this[i]) == "movieclip") { trace("name: " + this[i].onRelease = function() {}.\t target(2):" + eval(this[i]. tabIndex (propiedad TextField. myMC3_mc. myMC2_mc. myMC3_mc. myMC2_mc.tabIndex = 1._target) public _target : String [read-only] Devuelve la ruta de destino de la instancia de clip de película en notación con barras. Ejemplo El ejemplo siguiente muestra las rutas de destino de instancias de clip de película de un archivo SWF en notación con barras y con punto.tabIndex = 2.onRelease = function() {}._name + ".\t target: " + this[i].tabIndex = 3.tabIndex) _target (propiedad MovieClip. myMC1_mc.onRelease = function() {}. Véase también tabIndex (propiedad Button. } } 492 Clases de ActionScript ._target)).

} }. next_mc._totalframes). el evento onRelease se registrará para el segundo clip de película. if (parent_mc.trackAsMenu) public trackAsMenu : Boolean Valor booleano que indica si otros botones o clips de película pueden recibir un evento de liberación del botón del ratón o del lápiz stylus. El botón desplaza la cabeza lectora al fotograma anterior.gotoAndStop(1). Añada contenido a una serie de fotogramas de la línea de tiempo y añada el siguiente código ActionScript al fotograma 1 de la línea de tiempo: prev_mc stop()._totalframes) public _totalframes : Number [read-only] Devuelve el número total de fotogramas de la instancia de clip de película especificada en el parámetro MovieClip._parent.onRelease = function() { var parent_mc:MovieClip = this._totalframes (propiedad MovieClip. } }. prev_mc. Ejemplo En el ejemplo siguiente. trackAsMenu (propiedad MovieClip. mientras que el botón next_mc la desplaza al fotograma siguiente. Puede cambiar la propiedad trackAsMenu en cualquier momento._totalframes) { parent_mc.nextFrame(). Puede establecer la propiedad trackAsMenu en cualquier botón u objeto del clip de película. Si no ha definido la propiedad trackAsMenu._parent. if (parent_mc. } else { parent_mc._currentframe>1) { parent_mc. el comportamiento predeterminado es false.gotoAndStop(parent_mc._currentframe<parent_mc. puede crear menús para el segundo clip de película. Si arrastra un ratón o un lápiz stylus encima de un clip de película y lo suelta sobre un segundo clip de película. el clip de película modificado adoptará de inmediato el nuevo comportamiento. De este modo. dos botones de clip de película controlan la línea de tiempo.onRelease = function() { var parent_mc:MovieClip = this. MovieClip 493 . } else { parent_mc.prevFrame().

Puede ampliar los métodos y los controladores de eventos de la clase MovieClip creando una subclase._name+" movie clip. myMC3_mc. 494 Clases de ActionScript . myMC1_mc. function clickMC() { trace("you clicked the "+this.removeMovieClip().capabilities. moveTo(0.capabilities. myMC2_mc."). myMC2_mc. Ejemplo El ejemplo siguiente define la propiedad trackAsMenu para tres clips de película del escenario. Haga clic en un clip de película y suelte el botón del ratón sobre un segundo clip de película para ver qué instancia recibe el evento.hasMouse es true o System. 0). }. this. myMC1_mc.hasStylus es true. Ejemplo El ejemplo siguiente descarga una instancia de clip de película denominada box cuando un usuario hace clic en el clip de película box. utilice MovieClip. incluidas sus propiedades y controladores de clip.Nota: esta propiedad se admite en Flash Lite sólo si System.trackAsMenu = false.trackAsMenu = true.onRelease = clickMC. myMC3_mc. Se conservan las propiedades de instancia y los controladores de clip. 1). with (box) { lineStyle(1.trackAsMenu) unloadMovie (método MovieClip. Véase también trackAsMenu (propiedad Button. 0xCCCCCC). Para eliminar la instancia. lineTo(80.createEmptyMovieClip("box".onRelease = clickMC.onRelease = clickMC.trackAsMenu = true. 0).unloadMovie) public unloadMovie() : Void Elimina el contenido de una instancia de clip de película. beginFill(0x4827CF).

GIF o PNG del que se descargó el clip de película.loadMovie)._visible) public _visible : Boolean Valor booleano que indica si un clip de película está visible.onRelease = function() { box. JPEG. _visible (propiedad MovieClip. lineTo(0. image_mcl.attachMovie).removeMovieClip). 1).unloadMovie(). 60). this.createEmptyMovieClip("image_mc". attachMovie (método MovieClip. Por ejemplo.loadClip("http://www.onLoadInit = function(target_mc:MovieClip) { trace("_url: "+target_mc.addListener(mclListener). mclListener. MovieClip 495 . no es posible hacer clic en un botón de un clip de película con _visible configurado con el valor false. 60). } box.lineTo(80. }.jpg". image_mc). loadMovie (método MovieClip.helpexamples. endFill(). Véase también removeMovieClip (método MovieClip. Los clips de película no visibles (que tienen la propiedad _visible configurada como false) se desactivan. image_mcl.com/flash/images/image1. lineTo(0. var image_mcl:MovieClipLoader = new MovieClipLoader(). Función unloadMovieNum _url (propiedad MovieClip. var mclListener:Object = new Object(). Función unloadMovie. }. Ejemplo El ejemplo siguiente muestra la URL de la imagen que se ha cargado en la instancia image_mc en el panel Salida. 0)._url) public _url : String [read-only] Recupera la URL del archivo SWF._url).

_name + " = " + triangle._visible = false. this. Observe que no es posible hacer clic en la instancia myMC1_mc tras definir la propiedad _visible en false._visible = false").createEmptyMovieClip("triangle".lineTo(100._height + " pixels"). La propiedad se configura como true para una instancia y como false para la otra. Ejemplo El siguiente ejemplo de código muestra la altura y anchura de un clip de película en el panel Salida: this.beginFill(0x0000FF. Véase también _visible (propiedad Button. }._alpha = 0"). 100). myMC1_mc. triangle.lineTo(150._width + " X " + triangle.moveTo(100. triangle._height) 496 Clases de ActionScript . expresada en píxeles. _visible (propiedad TextField. }. 100)._name+". trace(triangle.onRelease = function() { trace(this.Ejemplo El ejemplo siguiente establece la propiedad _visible en dos clips de película denominados myMC1_mc y myMC2_mc._name+". this._visible). 100). Véase también _height (propiedad MovieClip.lineTo(100. triangle.getNextHighestDepth()). 150)._visible) _width (propiedad MovieClip.onRelease = function() { trace(this. this._alpha = 0. 100). triangle. triangle. myMC2_mc._width) public _width : Number Anchura del clip de película.

capabilities. 0. mouse_txt._xscale). el clip de película estará en el sistema de coordenadas local del clip de película en el que está contenido. 150. mouse_txt. _y (propiedad MovieClip. 0)._x) public _x : Number Entero que establece la coordenada x de un clip de película con respecto a las coordenadas locales del clip de película principal. Por consiguiente. Si el clip de película está dentro de otro clip de película que incluye transformaciones.htmlText += "</textformat>". Ejemplo El ejemplo siguiente devuelve las coordenadas x e y actuales del ratón en el escenario (_level0) y con respecto a un clip de película del escenario llamado my_mc. my_mc.htmlText = "<textformat tabStops='[50.100]'>"._xmouse+"\t"+this. Si un clip de película se encuentra en la línea de tiempo principal.htmlText += "<b>_level0</b>\t"+_xmouse+"\t"+_ymouse. los clips de película secundarios de este clip de película heredarán un sistema de coordenadas con un giro de 90° en sentido contrario al de las agujas del reloj. Véase también _xscale (propiedad MovieClip. this.onMouseMove = function () { mouse_txt.hasMouse es o System.hasStylus es true. 0. en el caso de un clip de película con un giro de 90° en sentido contrario al de las agujas del reloj.capabilities._x (propiedad MovieClip. true Nota: esta propiedad se admite en Flash Lite sólo si System._yscale) _xmouse (propiedad MovieClip. MovieClip 497 . 66). }. var row1_str:String = "&nbsp.html = true._ymouse.multiline = true._y). su sistema de coordenadas hará referencia a la esquina superior izquierda del escenario como (0._xmouse) public _xmouse : Number [read-only] Devuelve la coordenada x de la posición del ratón. _yscale (propiedad MovieClip. mouse_txt. this.\t<b>_xmouse\t</b><b>_ymouse</b>". mouse_txt. mouse_txt.getNextHighestDepth().htmlText += "<b>my_mc</b>\t"+this.createTextField("mouse_txt".htmlText += row1_str. Las coordenadas del clip de película hacen referencia a la posición del punto de registro. mouse_txt.

with (box_mc) { lineStyle(1._y -= this. this._xscale = 100.0). Por ejemplo. 498 Clases de ActionScript . box_mc._x = 100. 0). moveTo(0. lineTo(80._y += this. ésta recupera la escala anterior._yscale = 200. box_mc._ymouse) _xscale (propiedad MovieClip. }. lineTo(0. }. box_mc. lineTo(80._x += this._width/2. que se definen en píxeles completos. 60). 0). this. se aplica un cambio de escala horizontal y vertical al clip de película. this. Ejemplo El ejemplo siguiente crea un clip de película denominado box_mc en tiempo de ejecución. la configuración de la propiedad _y desplazará un objeto situado en el clip de película la mitad de píxeles que si la película tuviera una escala del 100%. endFill(). }. lineTo(0._height/2._y = 100. 60).onRollOut = function() { this. cuando el ratón se desplaza sobre el recuadro._yscale = 100. this. this. beginFill(0xEEEEEE).Véase también Mouse._x -= this. box_mc.onRollOver = function() { this. La escala del sistema de coordenadas local afecta a la configuración de las propiedades _x e _y._xscale = 200._height/2. 0). 0xCCCCCC). _ymouse (propiedad MovieClip. si se aplica una escala del 50% al clip de película principal._xscale) public _xscale : Number Establece la escala horizontal (percentage) del clip de película aplicada desde el punto de registro del clip de película.createEmptyMovieClip("box_mc". Cuando el ratón se desplaza fuera de la instancia. La API de dibujo se utiliza para dibujar un recuadro en esta instancia y. 1). this. El punto de registro predeterminado es (0. this._width/2.

_xscale).onMouseMove = function () { mouse_txt.capabilities._width) _y (propiedad MovieClip. _y (propiedad MovieClip. los clips de película secundarios de este clip de película heredarán un sistema de coordenadas con un giro de 90° en sentido contrario al de las agujas del reloj._yscale).\t<b>_xmouse\t</b><b>_ymouse</b>".0). Si el clip de película está dentro de otro clip de película que incluye transformaciones.hasMouse es true o System._y) public _y : Number Establece la coordenada y de un clip de película con respecto a las coordenadas locales del clip de película principal. mouse_txt.Véase también _x (propiedad MovieClip. this.htmlText += row1_str.html = true.getNextHighestDepth()._ymouse) public _ymouse : Number [read-only] Indica la coordenada y de la posición del ratón. _yscale (propiedad MovieClip.capabilities. su sistema de coordenadas hará referencia a la esquina superior izquierda del escenario como (0. my_mc. 150. _yscale (propiedad MovieClip. var row1_str:String = "&nbsp._x). el clip de película estará en el sistema de coordenadas local del clip de película en el que está contenido. 0.hasStylus es true._y). Véase también _x (propiedad MovieClip. mouse_txt. Nota: esta propiedad se admite en Flash Lite sólo si System. 66). Por consiguiente. mouse_txt. MovieClip 499 . en el caso de un clip de película con un giro de 90° en sentido contrario al de las agujas del reloj._x)._yscale) _ymouse (propiedad MovieClip.htmlText = "<textformat tabStops='[50.createTextField("mouse_txt".100]'>". _width (propiedad MovieClip. this. 0.multiline = true. Las coordenadas del clip de película hacen referencia a la posición del punto de registro. _xscale (propiedad MovieClip. Si un clip de película se encuentra en la línea de tiempo principal. Ejemplo El ejemplo siguiente devuelve las coordenadas x e y actuales del ratón en el escenario (_level0) y con respecto a un clip de película del escenario llamado my_mc.

}. lineTo(80. lineTo(0._yscale) public _yscale : Number Establece la escala vertical (percentage) del clip de película aplicada desde el punto de registro del clip de película. que se definen en píxeles completos. this. 0)._width/2. _xmouse (propiedad MovieClip. se aplica un cambio de escala horizontal y vertical al clip de película._yscale = 200. this.htmlText += "<b>_level0</b>\t"+_xmouse+"\t"+_ymouse. La API de dibujo se utiliza para dibujar un recuadro en esta instancia y. la configuración de la propiedad _x desplazará un objeto situado en el clip de película la mitad de píxeles que si la película tuviera una escala del 100%. 1).onRollOver = function() { this. box_mc. moveTo(0._xmouse) _yscale (propiedad MovieClip. 0). with (box_mc) { lineStyle(1. this._x -= this. El punto de registro predeterminado es (0. 0xCCCCCC).htmlText += "</textformat>". }. }.mouse_txt. si se aplica una escala del 50% al clip de película principal. lineTo(80._y -= this. 500 Clases de ActionScript . cuando el ratón se desplaza sobre el recuadro. ésta recupera la escala anterior. box_mc. mouse_txt._xmouse+"\t"+this.0). 0). Cuando el ratón se desplaza fuera de la instancia. lineTo(0. endFill()._y = 100.createEmptyMovieClip("box_mc"._x = 100. Ejemplo El ejemplo siguiente crea un clip de película denominado box_mc en tiempo de ejecución._xscale = 200. 60). mouse_txt.htmlText += "<b>my_mc</b>\t"+this. beginFill(0xEEEEEE)._height/2. this. Véase también Mouse. box_mc. 60). Por ejemplo._ymouse. La escala del sistema de coordenadas local afecta a la configuración de las propiedades _x e _y.

JPEG. }. _xscale (propiedad MovieClip. se invocará el detector MovieClipLoader._xscale). this. GIF o PNG en clips de película.onLoadInit. utilizar métodos e interactuar con la película descargada. se invocará el detector MovieClipLoader. Una vez que envíe el método MovieClipLoader.loadClip() en lugar de loadMovie() o MovieClip._x). se invocará el detector MovieClipLoader. éste se invocará durante el proceso de carga. se invocará el detector MovieClipLoader.getProgress() en cualquier momento durante el proceso de carga. Si el archivo no se carga completamente. tendrán lugar los siguientes eventos en el orden en que se enumeran: ■ Cuando se hayan grabado en el disco duro los primeros bytes del archivo descargado._y += this._y).onRollOut = function() { this. MovieClipLoader 501 . utilice MovieClipLoader.box_mc._xscale = 100.Nota: puede efectuar una llamada a MovieClipLoader.onLoadStart.onLoadInit ■ ■ ■ Una vez que se haya invocado MovieClipLoader. this. Para utilizar las funciones MovieClipLoader._height/2._width/2.loadClip(). Si ha implementado el detector MovieClipLoader._x += this. this. podrá establecer propiedades.onLoadComplete. Cuando se haya grabado en el disco duro el archivo descargado completo. _y (propiedad MovieClip.loadMovie() para cargar archivos SWF. _height (propiedad MovieClip.onLoadProgress._yscale = 100. Una vez que se hayan ejecutado las acciones del primer fotograma del archivo descargado.onLoadError. Véase también _x (propiedad MovieClip._height) MovieClipLoader Object | +-MovieClipLoader public class MovieClipLoader extends Object La clase MovieClipLoader le permite implementar funciones callback de detector que proporcionan información de estado mientras se están cargando (descargando) archivos SWF.

constructor). [target_mc]) {} onLoadError = errorCode) {} onLoadInit = ]) {} onLoadProgress = ]. JPEG. prototype (propiedad Object. Resumen de constructores Firma MovieClipLoader() Descripción Crea un objeto MovieClipLoader que puede utilizar para implementar una serie de detectores que respondan a eventos mientras se está descargando un archivo SWF. GIF o PNG. Se invoca cada vez que se graba en el disco duro el contenido durante y MovieClipLoader. Se invoca cuando un archivo cargado con function(target_mc. Se invoca cuando se ejecutan las acciones del primer fotograma del function([target_mc clip cargado. loadedBytes.__resolve) Resumen de eventos Evento onLoadComplete = ject.__proto__).prototype). __proto__ (propiedad Object. MovieClipLoader.onLoadStart function([target_mc iniciado correctamente la descarga de un archivo.loadClip() no se carga correctamente. entre MovieClipLoader.onLoadComplete).loadClip() ha function([target_mc el proceso de carga (es decir.loadClip() se ha descargado completamente. __resolve (propiedad Object. totalBytes) {} onLoadStart = ]) {} Descripción Se invoca cuando un archivo cargado con function(listenerOb MovieClipLoader. 502 Clases de ActionScript . Se invoca cuando una llamada a MovieClipLoader.Resumen de propiedades Propiedades heredadas de la clase Object constructor (propiedad Object.

valueOf (método Object. watch (método Object. mediante MovieClipLoader.valueOf). getProgress(target: Devuelve el número de bytes cargados y el número Object) : Object total de bytes de un archivo que se está cargando mediante MovieClipLoader. en el caso de películas comprimidas.isPrototypeOf). listener:Object MovieClipLoader 503 . target:Object) : Boolean removeListener(list Elimina el detector que se ha utilizado para recibir ener:Object) : Boolean unloadClip(target:O Elimina un clip de película que se ha cargado bject) : Boolean Métodos heredados de la clase Object addProperty (método Object.toString). hasOwnProperty (método Object. notificación de la invocación del controlador de eventos MovieClipLoader. isPropertyEnumerable (método Object.Un objeto que detecta una notificación callback de los controladores de eventos MovieClipLoader.Resumen de métodos Modificadores Firma Descripción addListener(listene Registra un objeto para recibir notificación de la r:Object) : Boolean invocación de un controlador de eventos MovieClipLoader.loadClip().isPropertyEnumerable).addProperty).registerClass). película en Flash Player mientras se reproduce el clip de película original. Parámetros . el método getProgress refleja el número de bytes comprimidos. toString (método Object.loadClip(). registerClass (método Object. unwatch (método Object.hasOwnProperty). isPrototypeOf (método Object.watch) addListener (método MovieClipLoader. loadClip(url:String Carga un archivo SWF o JPEG en un clip de .unwatch).addListener) public addListener(listener:Object) : Boolean Registra un objeto para recibir notificación de la invocación de un controlador de eventos MovieClipLoader.

target_mc.onLoadComplete). h). target_mc. target_mc. target_mc.removeListener) 504 Clases de ActionScript . target_mc.com/flash/images/image1.Valor devuelto Boolean . El valor devuelto es true si el detector se ha establecido correctamente. Véase también onLoadComplete (detector de eventos MovieClipLoader.createEmptyMovieClip("image_mc". mclListener. image_mc). var image_mcl:MovieClipLoader = new MovieClipLoader().onLoadError).moveTo(0.lineTo(w. y tanto el escenario como el clip de película tienen un trazo dibujado alrededor de sus parámetros.loadClip("http://www. 0). el valor devuelto es false.onLoadStart). var h:Number = target_mc.lineTo(w.height/2-target_mc. var mclListener:Object = new Object(). image_mcl._width. this.onLoadInit = function(target_mc:MovieClip) { target_mc._height. var w:Number = target_mc._width/2. de lo contrario.lineTo(0. onLoadStart (detector de eventos MovieClipLoader.onLoadProgress). Ejemplo El ejemplo siguiente carga una imagen en un clip de película llamado image_mc. 0). h)._rotation = 3.lineStyle(4.onLoadInit)._x = Stage.width/2-target_mc. }.helpexamples.Valor booleano. this. 0x000000)._width/2. onLoadProgress (detector de eventos MovieClipLoader. onLoadError (detector de eventos MovieClipLoader. La instancia de clip de película se gira y se centra en el escenario.jpg"._y = Stage. image_mcl. removeListener (método MovieClipLoader.addListener(mclListener).getNextHighestDepth()). target_mc. 0).lineTo(0. target_mc. target_mc. onLoadInit (detector de eventos MovieClipLoader.

var image:MovieClip = container. var listener:Object = new Object(). Parámetros target:Object .getProgress (método MovieClipLoader.id = setInterval(checkProgress.loadClip().loadClip(). var mcLoader:MovieClipLoader = new MovieClipLoader().w3.getNextHighestDepth()). var container:MovieClip = this. image:MovieClip. interval:Object):Void { trace(">> checking progress now with : " + interval.Un objeto que dispone de dos propiedades de enteros: bytesLoaded y bytesTotal.getProgress) public getProgress(target:Object) : Object Devuelve el número de bytes cargados y el número total de bytes de un archivo que se está cargando mediante MovieClipLoader. function checkProgress(mcLoader:MovieClipLoader. mcLoader.onLoadProgress = function(target:MovieClip.getNextHighestDepth()).createEmptyMovieClip("image". JPEG. 100.loadClip("http://www.Un archivo SWF. image). image. Ejemplo En el ejemplo siguiente muestra el uso del método getProgress. el método getProgress refleja el número de bytes comprimidos.createEmptyMovieClip("container". } mcLoader. container.org/Icons/w3c_main. MovieClipLoader 505 . interval). normalmente se crea un objeto detector para el evento onLoadProgress. En lugar de utilizar este método. this. interval.onLoadProgress.id). listener. Valor devuelto Object . var interval:Object = new Object().onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal). GIF o PNG que se carga mediante MovieClipLoader. El método getProgress permite solicitar explícitamente esta información en lugar de (o además de) escribir una función de detector MovieClipLoader. en el caso de películas comprimidas. bytesTotal:Number):Void { trace(target + ". mcLoader. Otra observación importante sobre este método es que la primera llamada sincronizada a getProgress puede devolver bytesLoaded y bytesTotal del contenedor y no los valores del objeto solicitado externamente. bytesLoaded:Number.addListener(listener).png".

■ ■ Un archivo SWF o imagen cargada en un clip de película hereda las propiedades de posición. if(progress.onLoadInit se invoca después de que se hayan ejecutado las acciones del primer fotograma del clip para que pueda manipular el clip cargado.onLoadProgress se invoca mientras progresa el proceso de carga. El controlador MovieClipLoader. target:Object) : Boolean Carga un archivo SWF o JPEG en un clip de película en Flash Player mientras se reproduce el clip de película original. El controlador MovieClipLoader.addListener(listenerObject) para registrarlo con la clase MovieClipLoader. Los siguientes controladores se implementan mediante el uso de un objeto detector. El controlador MovieClipLoader. Se llama a este controlador antes que al controlador onLoadInit.bytesTotal). utilice el controlador onLoadInit. trace("bytesLoaded: " + progress.loadClip).loadMovie() ofrece diversas ventajas.getProgress(image). ■ ■ ■ El controlador MovieClipLoader. Mediante este método es posible mostrar varios archivos SWF a la vez y cambiar entre archivos SWF sin cargar otro documento HTML.bytesLoaded == progress. pero antes de que estén disponibles los métodos y propiedades del clip de película cargado.bytesLoaded + " bytesTotal: " + progress.id).onLoadStart se invoca cuando comienza la carga.var progress:Object = mcLoader. Se llama a este controlador antes que al controlador onLoadComplete. En la mayoría de los casos. Active el detector utilizando MovieClipLoader. La utilización del método loadClip() en lugar de loadMovie() o MovieClip.loadClip) public loadClip(url:String. 506 Clases de ActionScript .onLoadProgress) loadClip (método MovieClipLoader. El controlador MovieClipLoader.bytesTotal) { clearInterval(interval. onLoadProgress (detector de eventos MovieClipLoader. Puede utilizar la ruta de destino del clip de película para emplear como destino la película cargada. } } Véase también loadClip (método MovieClipLoader. giro y escala del clip de película.onLoadComplete se invoca cuando finaliza la descarga de un archivo.onLoadError se invoca si no es posible cargar el clip.

} MovieClipLoader 507 . puede crear un objeto MovieClipLoader diferente para cada archivo que cargue. public function onLoadInit(mc:MovieClip):Void { trace("onLoadInit: " + mc). El siguiente código debe situarse directamente en una acción de fotograma en una línea de tiempo o pegarse en una clase que amplíe MovieClip. El clip de película de destino se sustituye por el archivo SWF o la imagen que se carga. Las URL absolutas deben incluir la referencia al protocolo. El valor devuelto es true si la solicitud de URL se ha enviado correctamente. como http:// o file:///.Valor booleano. Una ruta relativa debe ser relativa al archivo SWF en el nivel 0.onLoadProgress informarán de la descarga con la velocidad de descarga real. o un entero que especifica el nivel en Flash Player en el que se cargará la película. no con la velocidad de ancho de banda reducido que ofrece el Visor de anchos de banda. Parámetros url:String . los objetos detectores MovieClipLoader se pasan a la instancia de clip de película de destino que se está cargando como parámetros. Utilice MovieClipLoader. de lo contrario. Los nombres de archivo no pueden incluir especificaciones de unidad de disco. MovieClipLoader. Ejemplo Los ejemplos siguientes muestran cómo utilizar el método MovieClipLoader.loadClip creando un controlador para el evento onLoadInit y realizando a continuación la petición.URL absoluto o relativo del archivo SWF o JPEG que se va a cargar. el valor devuelto es false.onLoadProgress no informan de los valores reales de bytesLoaded y bytesTotal en el reproductor de edición si los archivos son locales.Ruta de destino de un clip de película. Como alternativa. Cree un método detector para el evento onLoadInit. Valor devuelto Boolean . Si utiliza la función Visor de anchos de banda del entorno de edición.getProgress() y MovieClipLoaderListener.getProgress() y MovieClipLoaderListener. target:Object . MovieClipLoader.unloadClip() para eliminar películas o imágenes cargadas con este método o cancelar una operación de carga que se encuentra en curso.Puede utilizar el método loadClip() para cargar uno o varios archivos en un solo clip de película o nivel.

GIF o PNG. var container:MovieClip = createEmptyMovieClip("container". JPEG.onLoadComplete) onLoadComplete = function(listenerObject. getNextHighestDepth()). mcLoader. [target_mc]) {} Se invoca cuando un archivo cargado con MovieClipLoader. Esto resulta útil si se están cargando varios archivos con el mismo conjunto de detectores. loadClip (método MovieClipLoader. El valor de target_mc identifica al clip de película para el que se ha realizado esta llamada.Cree un MovieClip vacío y utilice MovieClipLoader para cargar una imagen. Ejemplo Véase MovieClipLoader.addListener). var mcLoader:MovieClipLoader = new MovieClipLoader().loadClip().loadClip("YourImage. } Véase también onLoadInit (detector de eventos MovieClipLoader.onLoadInit) Constructor MovieClipLoader public MovieClipLoader() Crea un objeto MovieClipLoader que puede utilizar para implementar una serie de detectores que respondan a eventos mientras se está descargando un archivo SWF. 508 Clases de ActionScript . container). Flash pasa este parámetro al código.loadClip) onLoadComplete (detector de eventos MovieClipLoader. mcLoader. function onLoadInit(mc:MovieClip) { trace("onLoadInit: " + mc). Véase también addListener (método MovieClipLoader.jpg".loadClip() se ha descargado completamente.addListener(this). aunque no tiene que implementar todos los parámetros de la función de detector.

Objeto detector añadido con MovieClipLoader. target_mc.startTimer = getTimer().getNextHighestDepth()). 22). [opcional] . 0. target_mc.createTextField("timer_txt".jpg". mclListener.onLoadStart = function(target_mc:MovieClip) { target_mc. La información se muestra en un campo de texto creado dinámicamente llamado timer_txt.Cuando utilice los eventos onLoadComplete y onLoadInit con la clase MovieClipLoader. mclListener. Ejemplo image_mc. image_mcl. mclListener.onLoadInit = function(target_mc:MovieClip) { var timerMS:Number = target_mc.addListener(mclListener).macromedia.". pero antes de que la aplicación se haya inicializado. La llamada al evento onLoadComplete se produce después de que se cargue el archivo SWF o JPEG.timer_txt. desplazarse a un fotograma específico._height._width.completeTimer-target_mc.Clip de película cargado por un método MovieClipLoader.getNextHighestDepth(). Parámetros listenerObject: target_mc: . es preferible utilizar el evento onLoadInit. no puede llamar a una función. this.loadClip().startTimer.onLoadComplete = function(target_mc:MovieClip) { target_mc. por ello. target_mc.addListener().createEmptyMovieClip("image_mc". }. }. al que se llama después de que el contenido se haya cargado y esté totalmente inicializado. Este parámetro es opcional. target_mc. MovieClipLoader 509 . var image_mcl:MovieClipLoader = new MovieClipLoader().loadClip("http://www. target_mc. image_mc). En este punto no puede acceder a las propiedades y métodos del clip de película cargado y. El ejemplo siguiente carga una imagen en una instancia de clip de película denominada Los eventos onLoadInit y onLoadComplete se utilizan para determinar el tiempo que tarda en cargarse la imagen. var mclListener:Object = new Object().com/images/shared/product_boxes/ 112x112/box_studio_112x112. etc. image_mcl. En la mayoría de los casos. es importante entender la diferencia que existe al funcionar con el archivo SWF.completeTimer = getTimer().text = "loaded in "+timerMS+" ms. this. }.

onLoadError). errorCode) {} Se invoca cuando un archivo cargado con MovieClipLoader. por ejemplo.onLoadInit) onLoadError (detector de eventos MovieClipLoader.Véase también addListener (método MovieClipLoader. Se devuelve la cadena "LoadNeverCompleted" si se llamó a MovieClipLoader.onLoadComplete.onLoadComplete. errorCode:String) { trace("ERROR!"). por ejemplo. si el servidor no funciona. var mclListener:Object = new Object().onLoadStart sin realizar una llamada a MovieClipLoader. En el caso del parámetro errorCode. . Este parámetro es útil cuando se cargan varios archivos con el mismo conjunto de detectores.onLoadStart).onLoadStart o MovieClipLoader. se devuelve la cadena "URLNotFound" si no se ha realizado ninguna llamada a los detectores MovieClipLoader.Una cadena que explica el motivo del fallo. Ejemplo El ejemplo siguiente muestra información en el panel Salida cuando se produce un error al cargar la imagen. mclListener.getNextHighestDepth()).loadClip(). no se puede localizar el archivo. this. Realice una llamada a este detector sobre un objeto agregado con MovieClipLoader. onLoadError (detector de eventos MovieClipLoader. onLoadStart (detector de eventos MovieClipLoader. onLoadInit (detector de eventos MovieClipLoader. si se interrumpió la descarga debido una sobrecarga o una caída del servidor.onLoadError = function(target_mc:MovieClip.createEmptyMovieClip("image_mc".Clip de película cargado mediante el método MovieClipLoader. etc.addListener().loadClip() no se carga correctamente. El valor de target_mc identifica al clip de película para el que se ha realizado esta llamada. this. Parámetros target_mc: errorCode: .loadClip).onLoadError) onLoadError = function(target_mc.addListener). loadClip (método MovieClipLoader. switch (errorCode) { 510 Clases de ActionScript . Este detector se puede invocar por varios motivos (también si el servidor no funciona) si no se puede localizar el archivo o se produce un problema de seguridad.

Véase también addListener (método MovieClipLoader. onLoadComplete (detector de eventos MovieClipLoader.addListener). image_mcl. var image_mcl:MovieClipLoader = new MovieClipLoader().fakedomain.loadClip).bytesTotal+" bytes loaded").addListener(). El valor de target_mc identifica al clip de película para el que se ha realizado esta llamada. MovieClipLoader 511 .getProgress(target_mc). podrá establecer propiedades. Parámetrostarget_mc: MovieClip [opcional] Clip de película cargado mediante el método MovieClipLoader. loadClip (método MovieClipLoader.Clip de película cargado mediante el método MovieClipLoader. break. utilizar métodos e interactuar con la película descargada. onLoadStart (detector de eventos MovieClipLoader. } }. trace(image_mcl. image_mc).com/images/bad_hair_day. }.onLoadStart). mclListener.loadClip().loadClip().case 'URLNotFound' : trace("\t Unable to connect to URL: "+target_mc.onLoadInit) onLoadInit = function([target_mc]) {} Se invoca cuando se ejecutan las acciones del primer fotograma del clip cargado. break.onLoadInit = function(target_mc:MovieClip) { trace("success"). Realice una llamada a este detector sobre un objeto agregado con MovieClipLoader. image_mcl. Parámetros target_mc: [opcional] ._url). case 'LoadNeverCompleted' : trace("\t Unable to complete download: "+target_mc).loadClip("http://www. Este parámetro es útil cuando se cargan varios archivos con el mismo conjunto de detectores.jpg". Una vez que se haya invocado este detector.addListener(mclListener).onLoadComplete) onLoadInit (detector de eventos MovieClipLoader.

Véase también addListener (método MovieClipLoader. var mclListener:Object = new Object().completeTimer-target_mc. target_mc.onLoadStart = function(target_mc:MovieClip) { target_mc.swf". El ejemplo siguiente comprueba si se ha cargado una película en un clip de película creado en tiempo de ejecución: this.startTimer = getTimer(). image_mcl.yourserver. } var image_mcl:MovieClipLoader = new MovieClipLoader(). mclListener.onLoadInit = function(target_mc:MovieClip) { trace("movie loaded"). 0.getNextHighestDepth()).addListener(mclListener). image_mcl.onLoadComplete = function(target_mc:MovieClip) { target_mc. target_mc.jpg".". image_mcl.completeTimer = getTimer(). loadClip (método MovieClipLoader. 1).Ejemplo El ejemplo siguiente carga una imagen en una instancia de clip de película denominada image_mc.onLoadInit = function(target_mc:MovieClip) { var timerMS:Number = target_mc.getNextHighestDepth(). mclListener.onLoadStart) 512 Clases de ActionScript .timer_txt.loadClip("http://www._height. onLoadStart (detector de eventos MovieClipLoader. }. var image_mcl:MovieClipLoader = new MovieClipLoader(). tester_mc).createEmptyMovieClip("image_mc". 22). image_mc).com/your_movie. }.addListener(mclListener). La información se muestra en un campo de texto llamado timer_txt. this. mclListener.loadClip("http://www.helpexamples._width.text = "loaded in "+timerMS+" ms. Los eventos onLoadInit y onLoadComplete se utilizan para determinar el tiempo que tarda en cargarse la imagen. mclListener. target_mc. this.addListener).createEmptyMovieClip("tester_mc". target_mc.com/flash/images/image1.startTimer. target_mc. }. image_mcl. var mclListener:Object = new Object().createTextField("timer_txt".loadClip).

en dicho modo.getNextHighestDepth()). var mcLoader:MovieClipLoader = new MovieClipLoader(). Flash Player carga los archivos locales íntegramente.onLoadProgress (detector de eventos MovieClipLoader. Esto resulta útil si se están cargando varios archivos con el mismo conjunto de detectores. bytesTotal:Number):Void { trace(target + ". var container:MovieClip = this. listener.createEmptyMovieClip("container". De forma periódica.onLoadProgress = function(target:MovieClip.addListener(). entre MovieClipLoader. El número total de bytes del archivo que se está cargando. muestra el progreso de un proceso de carga y notifica cuando ha finalizado la carga y el recurso queda disponible para ActionScript. Nota: si intenta utilizar onLoadProgress en modo de prueba de película con un archivo local que reside en el disco duro. bytesLoaded:Number.loadClip().onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal). Parámetros target_mc: [opcional] . Parámetrostarget_mc: MovieClip [optional] Clip de película cargado mediante el método MovieClipLoader. loadedBytes: totalBytes: . loadedBytes. El valor de target_mc identifica al clip de película para el que se ha realizado esta llamada.onLoadProgress) onLoadProgress = function([target_mc].Clip de película cargado mediante el método . Realice una llamada a este detector sobre un objeto agregado con MovieClipLoader. } MovieClipLoader 513 .onLoadStart y MovieClipLoader. Puede utilizar este método para mostrar información sobre el progreso de la descarga utilizando los parámetros loadedBytes y totalBytes.El número de bytes que se habían cargado al invocar al detector. éste no funcionará correctamente porque. Ejemplo El ejemplo siguiente crea un clip de película.onLoadComplete). MovieClipLoader. un nuevo MovieClipLoader y un detector de eventos anónimo.El número total de bytes del archivo que se está cargando. this.loadClip(). var listener:Object = new Object(). loadedBytes: Number totalBytes: Number El número de bytes que se habían cargado al invocar al detector. totalBytes) {} Se invoca cada vez que se graba en el disco duro el contenido durante el proceso de carga (es decir.

Ejemplo El ejemplo siguiente carga una imagen en una instancia de clip de película denominada Los eventos onLoadInit y onLoadComplete se utilizan para determinar el tiempo que tarda en cargarse la imagen. El valor de target_mc identifica al clip de película para el que se ha realizado esta llamada.onLoadStart = function(target_mc:MovieClip) { target_mc.startTimer. image_mc. mclListener.onLoadInit = function(target_mc:MovieClip) { var timerMS:Number = target_mc.loadClip().onLoadStart) onLoadStart = function([target_mc]) {} Se invoca cuando una llamada a MovieClipLoader. 514 Clases de ActionScript .getNextHighestDepth()).completeTimer-target_mc. La información se muestra en un campo de texto llamado timer_txt.onLoadInit").loadClip() ha iniciado correctamente la descarga de un archivo. mcLoader. }. container).getProgress) onLoadStart (detector de eventos MovieClipLoader.Clip de película cargado mediante el método MovieClipLoader.loadClip(). mclListener. var mclListener:Object = new Object().loadClip("http://www.onLoadInit = function(target:MovieClip):Void { trace(target + ".addListener).startTimer = getTimer(). mclListener. this.png". Véase también addListener (método MovieClipLoader.listener.onLoadComplete = function(target_mc:MovieClip) { target_mc. Parámetros target_mc: [opcional] .completeTimer = getTimer().w3. Realice una llamada a este detector sobre un objeto agregado con MovieClipLoader. Este parámetro es útil cuando se cargan varios archivos con el mismo conjunto de detectores. } mcLoader. Parámetrostarget_mc: MovieClip [optional] Clip de película cargado mediante el método MovieClipLoader. loadClip (método MovieClipLoader. this. getProgress (método MovieClipLoader.addListener().loadClip).createEmptyMovieClip("image_mc".org/Icons/w3c_main. }.addListener(listener).

image_mcl.onLoadComplete) removeListener (método MovieClipLoader. var image_mcl:MovieClipLoader = new MovieClipLoader().loadClip).getNextHighestDepth()).getNextHighestDepth(). this. onLoadError (detector de eventos MovieClipLoader. }. onLoadInit (detector de eventos MovieClipLoader.jpg".com/flash/images/image1. MovieClipLoader 515 . Parámetros listener:Object . Cuando el usuario inicia o detiene el proceso. target_mc. image_mcl.removeListener) public removeListener(listener:Object) : Boolean Elimina el detector que se ha utilizado para recibir notificación de la invocación del controlador de eventos MovieClipLoader. target_mc.addListener(mclListener).timer_txt. 0.onLoadStart = function(target_mc:MovieClip) { trace("\t onLoadStart"). No se recibirán más mensajes de carga. loadClip (método MovieClipLoader. mclListener.onLoadInit).addListener(). }.loadClip("http://www._width. onLoadComplete (detector de eventos MovieClipLoader. se muestra información en el panel Salida. 22).text = "loaded in "+timerMS+" ms. Véase también addListener (método MovieClipLoader. target_mc.Un objeto detector que se añadió utilizando MovieClipLoader. Valor devuelto Boolean - Ejemplo El ejemplo siguiente carga una imagen en un clip de película y permite al usuario iniciar y detener el proceso de carga mediante dos botones llamados start_button y stop_button. this._height.helpexamples.onLoadError).createEmptyMovieClip("image_mc". target_mc.target_mc.createTextField("timer_txt".". var mclListener:Object = new Object().addListener). image_mc).

unloadClip) public unloadClip(target:Object) : Boolean Elimina un clip de película que se ha cargado mediante MovieClipLoader.enabled = false.onLoadError.loadClip("http://www.enabled = true.addListener(mclListener). se invocará MovieClipLoader. // image_mcl. stop_button. // image_mcl. start_button.enabled = true. start_button.. }.onLoadError = function(target_mc:MovieClip. var image_mcl:MovieClipLoader = new MovieClipLoader(). }. Si envía este método mientras se está cargando una película.helpexamples.addListener) unloadClip (método MovieClipLoader.onLoadInit = function(target_mc:MovieClip) { trace("\t onLoadInit").jpg". Parámetros . mclListener.com/flash/images/ image1. stop_button.clickHandler = function() { trace("Starting. image_mc). Véase también addListener (método MovieClipLoader. }.enabled = false.").removeListener(mclListener)..loadClip()..mclListener.enabled = false. }.clickHandler = function() { trace("Stopping. }. image_mcl.onLoadComplete = function(target_mc:MovieClip) { trace("\t onLoadComplete")."). mclListener.. // start_button.loadClip(). errorCode:String) { trace("\t onLoadError: "+errorCode). stop_button.enabled = false. stop_button. target:Object 516 Clases de ActionScript . start_button.enabled = true.Cadena o entero que se pasa a la llamada correspondiente a my_mcl. stop_button.

addListener(mclListener). mclListener.jpg". onLoadError (detector de eventos MovieClipLoader.getNextHighestDepth()). var image_mcl:MovieClipLoader = new MovieClipLoader().loadClip("http://www. Number 517 .. trace("\t name: "+target_mc. image_mcl._x = 100. image_mcl.unloadClip(target_mc)._name). image_mc). trace("\t url: "+target_mc.onLoadError) Number Object | +-Number public class Number extends Object La clase Number es un objeto envolvente sencillo para el tipo de datos Number. }. target_mc.").onLoadInit = function(target_mc:MovieClip) { target_mc. Si hace clic en el clip de película. var mclListener:Object = new Object().com/flash/images/image1.Valor devuelto Boolean - Ejemplo El ejemplo siguiente carga una imagen en un clip de película llamado image_mc.onRelease = function() { trace("Unloading clip. Puede manipular valores numéricos simples utilizando los métodos y propiedades asociados a la clase Number. por lo que no es preciso que utilice el constructor. éste se elimina y se muestra información en el panel Salida..createEmptyMovieClip("image_mc". this.loadClip). image_mcl. target_mc. Véase también loadClip (método MovieClipLoader._url). Las propiedades de la clase Number son estáticas. Esta clase es idéntica a la clase Number de JavaScript.helpexamples. this. lo que significa que no necesita un objeto para utilizarlas._y = 100. }.

se llama al método toString() de la clase Number. que devuelve la cadena 1234: var myNumber:Number = new Number(1234). El número más pequeño que puede representarse (doble precisión IEEE-754). Resumen de propiedades Modificadores Propiedad static MAX_VALUE:Number Descripción El número más grande que puede representarse (doble precisión IEEE-754). infinito positivo.prototype). El siguiente ejemplo asigna el valor de la propiedad MIN_VALUE a una variable declarada sin utilizar el constructor: var smallest:Number = Number.__resolve) Resumen de constructores Firma Number(num:Object) Descripción Crea un nuevo objeto Number.toString(). Devuelve el tipo de valor simple del objeto Number especificado. no es un número). myNumber. toString(radix:Numb Devuelve la representación de cadena del objeto 518 Clases de ActionScript .constructor). Resumen de métodos Modificadores Firma er) : String valueOf() : Number Descripción Number especificado (myNumber).__proto__). infinito negativo. El valor IEEE-754 que representa a Not A Number (NaN.En el siguiente ejemplo. static MIN_VALUE:Number static NaN:Number static NEGATIVE_INFINITY:Nu Especifica el valor IEEE-754 que representa el mber static POSITIVE_INFINITY:Nu Especifica el valor IEEE-754 que representa el mber Propiedades heredadas de la clase Object constructor (propiedad Object.MIN_VALUE. __resolve (propiedad Object. __proto__ (propiedad Object. prototype (propiedad Object.

addProperty).MIN_VALUE). trace("Number. unwatch (método Object.valueOf). Ejemplo El siguiente código ActionScript muestra el número más grande y el más pequeño que puede representarse en el panel Salida en el archivo de registro.MIN_VALUE = "+Number.hasOwnProperty). toString (método Object. trace("Number.unwatch).registerClass).94065645841247e-324 Number. trace("Number.MAX_VALUE). hasOwnProperty (método Object.MAX_VALUE = "+Number.MIN_VALUE = 4. Este número es aproximadamente 5e-324.MAX_VALUE = 1. watch (método Object.MAX_VALUE). Ejemplo El siguiente código ActionScript muestra el número más grande y el más pequeño que puede representarse en el panel Salida.MIN_VALUE).MIN_VALUE = "+Number.79769313486232e+308 MIN_VALUE (propiedad Number.MAX_VALUE = 1. valueOf (método Object.watch) MAX_VALUE (propiedad Number.79769313486232e+308 Number 519 .Métodos heredados de la clase Object addProperty (método Object.isPrototypeOf).MAX_VALUE = "+Number.MAX_VALUE) public static MAX_VALUE : Number El número más grande que puede representarse (doble precisión IEEE-754).79e+308. isPropertyEnumerable (método Object.94065645841247e-324 Number. Este número es aproximadamente 1. registerClass (método Object. trace("Number.isPropertyEnumerable).MIN_VALUE = 4.MIN_VALUE) public static MIN_VALUE : Number El número más pequeño que puede representarse (doble precisión IEEE-754). Este código muestra los siguientes valores: Number. Este código muestra los siguientes valores: Number.toString). isPrototypeOf (método Object.

POSITIVE_INFINITY) { trace("posResult = "+posResult). Véase también Función isNaN NEGATIVE_INFINITY (propiedad Number. el valor predeterminado es 0. Un objeto Number no es lo mismo que la función Number() que convierte un parámetro en un valor simple. // salida: negResult = -Infinity Constructor Number public Number(num:Object) Crea un nuevo objeto Number. if (posResult == Number. if (negResult == Number.El valor numérico del objeto Number que se crea o un valor para convertir a un número. El nuevo constructor new Number se utiliza principalmente como marcador de posición.NaN (propiedad Number. Infinito negativo es un valor numérico especial que se devuelve cuando una operación o función matemática devuelve un valor negativo mayor de lo que es posible representar. no es un número). // salida: posResult = Infinity } var negResult:Number = -1/0. Ejemplo Este ejemplo compara el resultado de dividir los siguientes valores. Parámetros num:Object .NaN) public static NaN : Number El valor IEEE-754 que representa a Not A Number (NaN. 520 Clases de ActionScript . Si no se especifica value.NEGATIVE_INFINITY) { trace("negResult = "+negResult).NEGATIVE_INFINITY) public static NEGATIVE_INFINITY : Number Especifica el valor IEEE-754 que representa el infinito negativo. El valor de esta propiedad es el mismo que el de la constante -Infinity. var posResult:Number = 1/0.

Ejemplo El código siguiente construye nuevos objetos Number: var n1:Number = new Number(3.valueOf) POSITIVE_INFINITY (propiedad Number.POSITIVE_INFINITY) public static POSITIVE_INFINITY : Number Especifica el valor IEEE-754 que representa el infinito positivo. var posResult:Number = 1/0. Infinito positivo es un valor numérico especial que se devuelve cuando una operación o función matemática devuelve un valor positivo mayor de lo que es posible representar.Una cadena.toString).NEGATIVE_INFINITY) { trace("negResult = "+negResult). // salida: negResult = -Infinity toString (método Number. Parámetros radix:Number . if (posResult == Number. el valor predeterminado es 10. Valor devuelto String . Ejemplo Este ejemplo compara el resultado de dividir los siguientes valores. Si no especifica el parámetro radix.Especifica la base numérica (de 2 a 36) para utilizar en la conversión número a cadena. var n2:Number = new Number(-10).toString) public toString(radix:Number) : String Devuelve la representación de cadena del objeto Number especificado (myNumber). Véase también toString (método Number.POSITIVE_INFINITY) { trace("posResult = "+posResult). Number 521 . valueOf (método Number.4). El valor de esta propiedad es el mismo que el de la constante Infinity. if (negResult == Number. // salida: posResult = Infinity } var negResult:Number = -1/0.

var numSocks = new Number(2).toString(16)+b. var rgb:String = "0x"+ r.valueOf) public valueOf() : Number Devuelve el tipo de valor simple del objeto Number especificado.Ejemplo El ejemplo siguiente utiliza 2 y 8 para el parámetro radix y devuelve una cadena que contiene la representación correspondiente del número 9: var myNumber:Number = new Number(9).toString(8)). // salida: 2 522 Clases de ActionScript . Ejemplo El ejemplo siguiente da como resultado un valor simple del objeto numSocks.toString(16)+g. // salida: 1001 trace(myNumber.valueOf()). var g:Number = new Number(128).toString(16). trace(numSocks. // salida: rgb:0xFA8072 (equivalente hexadecimal del color 'salmón') valueOf (método Number.toString(2)). // salida: 11 El ejemplo siguiente da como resultado un valor hexadecimal. trace(rgb). Valor devuelto Number . trace(myNumber.Una cadena. var b:Number = new Number(114). var r:Number = new Number(250).

getter:Function. Esta clase contiene un pequeño subconjunto de las funciones proporcionadas por la clase Object de JavaScript.0) utilizada para crear el objeto. setter:Function) : Boolean hasOwnProperty(name Indica si un objeto tiene definida una propiedad :String) : Boolean Descripción addProperty(name:St Crea una propiedad getter/setter. Resumen de propiedades Modificadores Propiedad constructor:Object Descripción Referencia a la función constructora para una instancia de objeto determinada. Resumen de métodos Modificadores Firma ring.0) o función constructora (ActionScript 1. Hace referencia a la propiedad prototype de la clase (ActionScript 2. __proto__:Object static prototype:Object __resolve:Object Resumen de constructores Firma Object() Descripción Crea un objeto Object y almacena una referencia al método constructor del objeto en la propiedad constructor del objeto. especificada.Object Object public class Object La clase Object se encuentra en la raíz de la jerarquía de clases de ActionScript. Una referencia a la superclase de una clase u objeto de función. Una referencia a una función definida por el usuario que se invoca si el código ActionScript hace referencia a una propiedad o un método no definido. Object 523 .

la función set recibirá el parámetro 1 del tipo Number (número). Por ejemplo. si la propiedad x se asigna mediante la sentencia x = 1. invoca la función set y le pasa el nuevo valor como parámetro. isPropertyEnumerabl Indica si existe la propiedad especificada y si es isPrototypeOf(theCl Indica si hay una instancia de la clase Object en la ass:Object) : Boolean static cadena de prototipo del objeto especificado como un argumento. Object de ActionScript. La función "set" es una función que acepta un parámetro: el nuevo valor de la propiedad. La función "get" es una función que carece de parámetros. Si existe una propiedad con ese nombre concreto. getter:Function. registerClass(name: Asocia un símbolo de clip de película a una clase String. invoca la función get y el valor devuelto por la función se convierte en un valor de name. El valor devuelto se trata como el valor actual de la propiedad. callback:Function.addProperty) public addProperty(name:String. El valor devuelto puede ser de cualquier tipo.watch(). Cuando Flash escribe una propiedad getter/setter (captador/definidor). 524 Clases de ActionScript . Cuando Flash lee una propiedad getter/setter (captador/ definidor). addProperty (método Object. Registra un controlador de eventos que debe invocarse cuando cambie una propiedad especificada de un objeto de ActionScript.Modificadores Firma e(name:String) : Boolean Descripción enumerable. El tipo de valor puede cambiar según la invocación. la nueva propiedad lo sobrescribe. unwatch(name:String Elimina un punto de observación creado por ) : Boolean valueOf() : Object watch(name:String. [userData:Object]) : Boolean Object. setter:Function) : Boolean Crea una propiedad getter/setter. theClass:Function) : Boolean toString() : String Convierte el objeto especificado en una cadena y devuelve dicha cadena. El valor devuelto por la función set no se tiene en cuenta. Devuelve el valor simple del objeto especificado.

todas las instancias del objeto que heredan el objeto prototipo heredarán la propiedad de captador/definidor.La función que se invoca para establecer el valor de la propiedad.La función que se invoca para recuperar el valor de la propiedad. Devuelve false y la propiedad no se añade. este parámetro es un objeto Function.Una cadena. una cadena vacía. la propiedad es de sólo lectura. setter no es un objeto de función válido. Si añade una propiedad de captador/definidor a un objeto prototipo. Parámetros name:String . y aplicarla a todas las instancias de una clase (como si se agregaran métodos a objetos prototipo). el nombre de la propiedad del objeto que se va a crear. Esto permite añadir una propiedad de captador/definidor a una ubicación. getter:Function setter:Function . false en caso contrario. Object 525 . Qué ocurre name no es un nombre de propiedad válido. Devuelve false y la propiedad no se añade. este parámetro es un objeto Function. no el objeto prototipo. el objeto prototipo. getter no es un objeto de función válido. Si se invoca incorrectamente. Si se invoca una función get/set para una propiedad de getter/setter de un objeto prototipo heredado.Valor booleano: true si la propiedad se crea correctamente. Devuelve false y la propiedad no se añade. . la referencia que se pasa a la función getter/setter será el objeto referenciado originalmente.addProperty() falle y muestre un error. En la siguiente tabla se describen los errores que pueden tener lugar: Situación de error por ejemplo. Si se pasa el valor null para este parámetro. puede que Object. Valor devuelto Boolean .Puede añadir propiedades de captador/definidor a los objetos prototipo.

addProperty("bookcount". En el ejemplo siguiente se muestra la forma de añadir propiedades a Book.prototype: function Book() {} Book. myBook. function Book() { this.bookcount. como bookcount y bookname.Ejemplo En el ejemplo siguiente. Cuando se define o recupera.getQuantity. 526 Clases de ActionScript . bookcount. el intérprete invoca myObject. Cuando un script recupera el valor de myBook. en una clase puede conllevar un gran consumo de memoria.books. this. para invocar estos métodos.getTitle = function():String { return "Catcher in the Rye".bookcount+" copies of "+myBook. }. getTitle(). // salida: You ordered 5 copies of Catcher in the Rye Aunque el ejemplo anterior funciona. this. el intérprete de ActionScript invoca automáticamente myBook. }.prototype.setQuantity). this.setQuantity = function(numBooks:Number):Void { this. }. un objeto tiene dos métodos internos: setQuantity() y getQuantity().prototype. }.getQuantity = function():Number { return this. la ausencia de la propiedad hará que se ascienda por la cadena de prototipo hasta que se encuentren las versiones definidas en Book. Sin embargo.getQuantity(). Si se intenta acceder a alguna de estas propiedades en una instancia Book.books = numBooks. Book.getQuantity = function():Number { return this. La inclusión de muchas propiedades. null). se puede utilizar una propiedad.bookcount = 5. } var myBook = new Book(). this. que añadió bookcount y bookname directamente a cada instancia.prototype.bookcount.setQuantity(). lo que exige disponer de dos propiedades para cada instancia del objeto.addProperty("bookname". this.setQuantity = function(numBooks:Number):Void { this. this.. Como la propiedad bookname no especifica una función set. }. los intentos de modificar la propiedad bookname no se tienen en cuenta. Si un script modifica el valor de myBook. this.bookname).books.prototype de modo que las propiedades bookcount y bookname sólo existan en un lugar. las propiedades bookcount y bookname se añaden a cada instancia del objeto Book. Un tercer método interno.books = numBooks. Como solución puede agregar las propiedades a Book. trace("You ordered "+myBook. produce el mismo efecto que el código del ejemplo.getTitle. devuelve un valor de sólo lectura que está asociado con la propiedad bookname.

prototype. function set bookcount(numBooks:Number):Void { this. Book. var myBook = new Book().bookcount+" copies of "+myBook. Book.addProperty("bookname". Sentencia set Object 527 .Book.as. El código siguiente debe encontrarse en un archivo externo separado. null).getQuantity. } } Luego se puede incluir el código siguiente en un archivo FLA y seguir funcionando de la misma manera que en los ejemplos anteriores: var myBook:Book = new Book().prototype. denominado Book.books = numBooks.prototype.bookcount = 5. la clase Book se define en un archivo externo denominado Book. Book.prototype. que contiene esta definición de clase exclusivamente y reside en la ruta de clases de la aplicación Flash: class Book { var books:Number.bookname). }.addProperty("bookcount". myBook.prototype.getTitle = function():String { return "Catcher in the Rye". Véase también Sentencia get.books. trace("You ordered "+myBook.as.getTitle.bookname). } function get bookcount():Number { return this.setQuantity). Book.prototype. Book. En lugar de definir la función Book y editar Book. myBook. trace("You ordered "+myBook. En el ejemplo siguiente se muestra cómo utilizar las funciones getter y setter implícitas que están disponibles en ActionScript 2.bookcount = 5.prototype.bookcount+" copies of "+myBook.0. } function get bookname():String { return "Catcher in the Rye".

trace(my_str instanceof String).constructor) public constructor : Object Referencia a la función constructora para una instancia de objeto determinada. Ejemplo El ejemplo siguiente es una referencia a la función constructora del objeto myObject. y false en caso contrario.constructor (propiedad Object. //salida: true Sin embargo. como se aprecia en el ejemplo siguiente: var my_str:String = "sven". en el ejemplo siguiente la propiedad Object. Parámetros name:String - 528 Clases de ActionScript . El operador instanceof no realiza ninguna conversión. var my_str:String = new String("sven"). //salida: true Si utiliza el operador instanceof. //salida: false Véase también Operador instanceof hasOwnProperty (método Object. trace(my_str. trace(my_str.constructor convierte los tipos de datos simples (como el literal de cadena que aparece aquí) en objetos envolventes. Este método devuelve true si el objeto de destino tiene una propiedad que coincide con la cadena especificada por el parámetro name. //salida: true trace(my_str instanceof String). Este método no comprueba la cadena de prototipo del objeto y devuelve true solamente cuando la propiedad existe en el propio objeto.hasOwnProperty) public hasOwnProperty(name:String) : Boolean Indica si un objeto tiene definida una propiedad especificada. La propiedad constructor se asigna automáticamente a todos los objetos cuando se crean utilizando el constructor de la clase Object. también puede determinar si un objeto pertenece a una clase especificada: var my_str:String = new String("sven").constructor == String).constructor == String).

Valor booleano: true si la propiedad especificada por el parámetro name es enumerable. la propiedad existe y puede enumerarse en un bucle for.. y false en caso contrario. // Salida: true var myArray = new Array().Valor devuelto Boolean .Valor booleano: true si el objeto de destino tiene la propiedad especificada por el parámetro name. se le añade una propiedad y luego se comprueba si el objeto es enumerable. Parámetros name:String - Valor devuelto Boolean . en el ejemplo también se muestra que una propiedad incorporada.isPropertyEnumerable("length")).isPropertyEnumerable("prop1")).isPropertyEnumerable) public isPropertyEnumerable(name:String) : Boolean Indica si existe la propiedad especificada y si es enumerable. isPropertyEnumerable (método Object. Aunque las propiedades que se crean son enumerables. Array. La propiedad debe existir en el objeto de destino porque este método no comprueba la cadena de prototipo del objeto de destino. Ejemplo En el ejemplo siguiente se crea un objeto genérico. trace(myArray.. A modo de comparación. las propiedades incorporadas no suelen ser enumerables.in.length. var myObj:Object = new Object(). trace(myObj. // Salida: false Véase también Sentencia for. myObj. Si su valor es true.prop1 = "hello". no es enumerable.in Object 529 .

__proto__ (propiedad Object. Constructor Object public Object() Crea un objeto Object y almacena una referencia al método constructor del objeto en la propiedad constructor del objeto. Ejemplo En el ejemplo siguiente se crea un objeto genérico denominado myObject: var myObject:Object = new Object(). Parámetros theClass:Object - Valor devuelto Boolean . 530 Clases de ActionScript . El intérprete de ActionScript utiliza la propiedad __proto__ para acceder a la propiedad prototype de la clase o función constructor del objeto con el fin de averiguar las propiedades y métodos que hereda el objeto de su superclase. sino también cuando el argumento theClass no es un objeto.__proto__) public __proto__ : Object Hace referencia a la propiedad prototype de la clase (ActionScript 2.0) o función constructora (ActionScript 1. Este método devuelve true si el objeto está presente en la cadena de prototipo del objeto especificado por el parámetro theClass. y false en caso contrario.Valor booleano: true si el objeto está presente en la cadena de prototipo del objeto especificado por el parámetro theClass. Devuelve false no sólo cuando el objeto de destino no está presente en la cadena de prototipo del objeto theClass.isPrototypeOf) public isPrototypeOf(theClass:Object) : Boolean Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como un argumento.0) utilizada para crear el objeto. La propiedad __proto__ se asigna automáticamente a todos los objetos cuando se crean.isPrototypeOf (método Object.

__proto__). pueden acceder a ella a través de la propiedad __proto__.prototype == twoCircle. trace(Circle. // Forma Shape definida en el archivo externo Shape.Ejemplo En el ejemplo siguiente se crea una clase denominada Shape y una subclase de Shape con el nombre Circle. Esta propiedad se considera estática porque es específica de la clase o función que ha creado. En las siguientes sentencias trace se muestra que la propiedad __proto_ de ambas instancias hace referencia a la propiedad prototype de la clase Circle.prototype) public static prototype : Object Una referencia a la superclase de una clase u objeto de función. Aunque las instancias de la clase personalizada no tienen acceso directo a la propiedad prototype.prototype) prototype (propiedad Object.as class Circle extends Shape{ function Circle() {} } La clase Circle se puede utilizar para crear dos instancias de Circle: var oneCircle:Circle = new Circle().__proto__). var twoCircle:Circle = new Circle(). si crea una clase personalizada. La propiedad prototype se crea y asocia automáticamente a cualquier clase u objeto de función creado. // Forma Shape definida en el archivo externo Shape.as class Shape { function Shape() {} } // Clase Circle definida en el archivo externo Circle. // Salida: true trace(Circle. Ejemplo En el ejemplo siguiente se crea una clase denominada Shape y una subclase de Shape con el nombre Circle.prototype == oneCircle.as class Shape { function Shape() {} } Object 531 . // Salida: true Véase también prototype (propiedad Object. todas las instancias de la clase compartirán el valor de la propiedad prototype y sólo será accesible como propiedad de clase. Por ejemplo.

__proto__ trace(Circle.__proto__ contiene una referencia a la superclase de la clase Shape. 532 Clases de ActionScript . no en la clase MovieClip. Cuando se coloca una instancia del símbolo de clip de película especificado en la línea de tiempo.attachMovie() o MovieClip. Si ya hay un símbolo registrado en una clase. La propiedad Circle. Si theClass tiene el valor null. Flash crea una asociación entre un identificador de cadena y una clase de objeto. // Salida: true Véase también __proto__ (propiedad Object. ésta se registra en la clase especificada por el parámetro theClass.as class Circle extends Shape{ function Circle() {} } La clase Circle se puede utilizar para crear dos instancias de Circle: var oneCircle:Circle = new Circle(). las instancias existentes del clip de película permanecerán sin cambios. // Salida: true La siguiente sentencia trace muestra cómo utilizar juntas las propiedades prototype y para subir dos niveles en la jerarquía de herencia (o cadena de prototipo). En el caso de símbolos de clip de película. aunque las nuevas instancias del símbolo se asociarán a la clase predeterminada MovieClip. El identificador Shape hace referencia a la función constructora de la clase Shape.registerClass) public static registerClass(name:String.// Clase Circle definida en el archivo externo Circle.constructor == Shape). no en la clase MovieClip. trace(Circle.__proto__) registerClass (método Object. ésta se registra en la clase especificada por theClass.duplicateMovieClip(). En la siguiente sentencia trace se muestra que la propiedad prototype de la clase Circle señala a su superclase Shape.__proto__ == Shape.prototype. Si un símbolo no existe.prototype. este método lo reemplazará por el nuevo registro. theClass:Function) : Boolean Asocia un símbolo de clip de película a una clase Object de ActionScript.prototype).prototype. var twoCircle:Circle = new Circle(). este método elimina cualquier definición de clase de ActionScript asociada al símbolo de clip de película o identificador de clase especificado. Cuando se crea una instancia del símbolo de clip de película especificado mediante MovieClip.

Si la línea de tiempo coloca una instancia de clip de película o ésta se crea utilizando attachMovie() o duplicateMovieClip(). La función constructora se invoca sin parámetros. ActionScript invocará el constructor de la clase correspondiente con la palabra clave this apuntando al objeto. a no ser que incluya la clase MovieClip en una cadena de prototipo de la nueva clase. Si se ha definido __resolve. Esta propiedad resulta útil para permitir una comunicación altamente transparente entre el cliente y el servidor y es la forma recomendada de invocar métodos de servidor. Object 533 .Cadena. El siguiente código crea una nueva clase de ActionScript denominada theClass que hereda las propiedades de la clase MovieClip: theClass. el identificador de vinculación del símbolo del clip de película o el identificador de cadena de la clase ActionScript. Véase también attachMovie (método MovieClip. Flash Player determinará si se ha definido la propiedad __resolve del objeto. .prototype = new MovieClip(). el símbolo de clip de película no heredará los métodos.attachMovie).duplicateMovieClip) __resolve (propiedad Object. Si utiliza este método para registrar un clip de película en una clase de ActionScript distinta de MovieClip. Esto permite proporcionar de manera programática valores para propiedades no definidas y sentencias para métodos no definidos y hacer que parezca como si las propiedades o los métodos estuvieran realmente definidos. false en caso contrario.__resolve) public __resolve : Object Una referencia a una función definida por el usuario que se invoca si el código ActionScript hace referencia a una propiedad o un método no definido. propiedades y eventos de la clase MovieClip incorporada. se ejecutará la función a la que hace referencia y se pasará a ella el nombre de la propiedad o método no definido. Parámetros name:String . theClass:Function Valor devuelto Boolean . duplicateMovieClip (método MovieClip. Si el código ActionScript hace referencia a una propiedad o método no definido de un objeto. se devuelve el valor true.Una referencia a la función constructora de la clase ActionScript o null para anular el registro del símbolo.Valor booleano: si el registro de la clase se realiza correctamente.

}. las sentencias clave que difieren del uso anterior aparecen en negrita. de métodos hasta el momento en que se utiliza un método por primera vez. La construcción diferida es una técnica de optimización que aplaza la creación.someMethod().property1). // define la función __resolve myObject. // define la función __resolve myObject. trace (myObject. world! trace (myObject. world!". //salida: Method someOtherMethod was called Sintaxis 3: el ejemplo siguiente se basa en el anterior. // salida: Method someMethod was called myObject. }.myFunction(name). Sintaxis 1: en el ejemplo siguiente. // crea la instancia de un nuevo objeto var myObject:Object = new Object().Ejemplo Los ejemplos siguientes forman una secuencia basada en el primer ejemplo e ilustran cinco usos distintos de la propiedad __resolve. // prueba __resolve con nombres de métodos undefined myObject. pero ofrece la posibilidad de guardar en el caché los métodos resueltos.__resolve = function (name) { return "Hello. Esto permite la construcción diferida de métodos de objeto.myFunction = function (name) { trace("Method " + name + " was called"). // salida: Hello. como función que genera funciones. // crea la instancia de un nuevo objeto var myObject:Object = new Object(). // define una función para que llame a __resolve 534 Clases de ActionScript . world!". // define una función para que llame a __resolve myObject.__resolve = function (name) { return function () { this. es decir. o construcción.someOtherMethod(). // crea la instancia de un nuevo objeto var myObject:Object = new Object().property2). sólo se llama a __resolve una vez por cada método de interés. Mediante __resolve. }. __resolve se utiliza para crear un objeto en el que cada propiedad no definida devuelve el valor "Hello. Cuando los métodos se guardan en el caché. Para facilitar la comprensión. world! Sintaxis 2: en el ejemplo siguiente se utiliza __resolve como functor. las llamadas de método no definido se redirigen a una función genérica denominada myFunction. // salida: Hello. }.

someOtherMethod(). }. // crea un nuevo método de objeto y asignarle la referencia this[name] = f. se reserva un nombre de método. }. }. } trace("Resolve called for "+name). // crea un nuevo método de objeto y asignarle la referencia this[name] = f.myFunction(name). para uso local con el fin de evitar que se resuelva de la misma forma que otras propiedades no definidas. // no llama a __resolve. // define la función __resolve myObject. // llama a __resolve myObject. // para comprobar cuándo se llama a __resolve // No sólo se llama a la función: también se guarda una referencia a ella var f:Function = function () { this.myFunction = function (name) { trace("Method " + name + " was called"). // devuelve la referencia return f.someMethod(). onStatus(). Object 535 . basado en el anterior.__resolve = function (name) { // reserva el nombre "onStatus" para uso local if (name == "onStatus") { return undefined.someMethod().myObject. // para comprobar cuándo se llama a __resolve // No sólo se llama a la función: también se guarda una referencia a ella var f:Function = function () { this. }. }.someOtherMethod(). // no llama a __resolve porque ahora es defined myObject. El código que se añade aparece en negrita.__resolve = function (name) { trace("Resolve called for "+name). // devuelve la referencia return f. // define una función para que llame a __resolve myObject. // crea la instancia de un nuevo objeto var myObject:Object = new Object(). ya no es undefined Sintaxis 4: en el ejemplo siguiente. }. // prueba __resolve con nombres de métodos undefined // sólo se llamará a __resolve una vez para cada nombre del método myObject. // llama a __resolve myObject.myFunction = function (name) { trace("Method " + name + " was called").myFunction(name). // define la función __resolve myObject.

myFunction = function (name) { arguments.someMethod("hello").onStatus("hello")). // devuelve la referencia a la función return f. pero en este caso se crea un functor que acepta parámetros. trace("Method " + name + " was called with arguments: " + arguments. // crea un nuevo método de objeto y asignarle la referencia this[name] = f.apply(this."world"). }.someOtherMethod("hello".join('. // prueba __resolve con nombres de métodos undefined con parámetros myObject. // salida: Method someMethod was called with arguments: hello myObject. Array 536 Clases de ActionScript . }.// prueba __resolve con el nombre de método "onStatus" trace(myObject. // define la función __resolve myObject. // crea la instancia de un nuevo objeto var myObject:Object = new Object().unshift(name). arguments).shift().world Véase también arguments. }. // salida: undefined Sintaxis 5: el ejemplo siguiente está basado en el anterior.__resolve = function (name) { // reserva el nombre "onStatus" para uso local if (name == "onStatus") { return undefined. // salida: Method someOtherMethod was called with arguments: hello. Además de hacer uso extensivo del objeto arguments. this. // define una función genérica para que llame a __resolve myObject. } var f:Function = function () { arguments. en este ejemplo se utilizan varios métodos de la clase Array.')).myFunction.

Una cadena.toString()). Object 537 . trace(myArray. // salida: [hora y fecha actual] // Array. // salida: cadena En el ejemplo siguiente se muestra cómo sustituir toString() en una clase personalizada. // salida: 5 trace(typeof (myNumber.toString() devuelve el contenido de la matriz como una cadena delimitada por comas var myArray:Array = new Array("one".toString (método Object.as class Vehicle { var numDoors:Number.toString() devuelve el valor numérico como una cadena // Como trace() no dirá si el valor es una cadena o un número // también utilizaremos typeof() para probar si funciona toString().color = param_color. "two"). // contenido de Vehicle. trace(myObject.toString() devuelve la fecha y hora actual var myDate:Date = new Date().as que sólo contenga la definición de la clase Vehicle y luego colóquelo en la carpeta Classes dentro de la carpeta Configuration. // salida: [object Object] Este método se puede sustituir para que se devuelva un valor más significativo. var color:String. Ejemplo En este ejemplo se muestra el valor que se devuelve para toString() en un objeto genérico: var myObject:Object = new Object().toString) public toString() : String Convierte el objeto especificado en una cadena y devuelve dicha cadena. var myNumber:Number = 5. trace(myDate. } function toString():String { var doors:String = "door". param_color:String) { this. Primero cree un archivo de texto denominado Vehicle. En los ejemplos siguientes se muestra que este método se ha sustituido para las clases incorporadas Date.toString())). trace(typeof (myNumber)). this. Array y Number: // Date.two // Number.toString()). function Vehicle(param_numDoors:Number. Valor devuelto String .numDoors = param_numDoors.toString()). // salida: one. // salida: número trace(myNumber.toString()).

color + " and has " + this.watch(). } return ("A vehicle that is " + this.if (this.Una cadena.numDoors > 1) { doors += "s". addProperty (método Object.numDoors + " " + doors).watch).toString()). y false en caso contrario. Valor devuelto Boolean .watch(). false en caso contrario. Véase también watch (método Object.addProperty) 538 Clases de ActionScript . Parámetros name:String . "red"). por lo que se devuelve el objeto // con la misma salida que toString(). trace(myVehicle.unwatch) public unwatch(name:String) : Boolean Elimina un punto de observación creado por Object. // salida: A vehicle that is red and has 2 doors // por motivos de comparación. trace(myVehicle.Valor booleano: true si el punto de observación se elimina correctamente. Ejemplo Consulte el ejemplo de Object. esto es una llamada a valueOf() // no hay valores primitivos de myVehicle. // salida: A vehicle that is red and has 2 doors unwatch (método Object. Este método devuelve el valor true si el punto de observación se elimina correctamente. } } // código para insertar en un archivo FLA var myVehicle:Vehicle = new Vehicle(2. el nombre de la propiedad del objeto que debería dejar de observarse.valueOf()).

two: // Crea un objeto genérico var myObject:Object = new Object(). 8:15 AM. Ejemplo En el ejemplo siguiente se muestra el valor devuelto de valueOf() para un objeto genérico (que no tiene un valor simple) y se compara con el valor devuelto de toString().toString()). // salida: Sun Feb 1 08:15:00 GMT-0800 2004 trace(myDate. cree un nuevo objeto Array que contenga dos elementos sencillos.valueOf) public valueOf() : Object Devuelve el valor simple del objeto especificado. se devuelve el objeto. trace(myObject. Tanto toString() como valueOf() devuelven el mismo valor: one. // salida: 1075652100000 // Crea un nuevo objeto Array que contenga dos elementos sencillos // En este caso. tanto toString() como valueOf() devuelven el mismo valor: one. Si el objeto no tiene un valor simple. "two").valueOf()). Véase también toString (método Object.toString(): // Crea un nuevo objeto Date establecido en 1 de febrero de 2004.01.toString()). trace(myArray.valueOf (método Object. trace(myDate. Finalmente.toString()).El valor simple del objeto especificado o el propio objeto. // salida: one. Valor devuelto Object . El método toString() devuelve la hora actual con un formato legible.toString() puede encontrar un ejemplo del valor devuelto de Object.valueOf() para una clase personalizada que sustituye a toString().valueOf()). y se comparan con los valores devueltos de Object. // salida: one. El método valueOf() devuelve el valor simple en milisegundos.valueOf()). cree un nuevo objeto Date establecido en February 1. En primer lugar.two trace(myArray.two var myArray:Array = new Array("one".01.15).toString) Object 539 . 2004. cree un objeto genérico: Después. 8:15 AM // El método toString() devuelve la hora actual en formato legible para el usuario // El método valueOf() devuelve el valor simple en milisegundos var myDate:Date = new Date(2004.two En el ejemplo de Object.8. // salida: [object Object] trace(myObject. // salida: [object Object] En los ejemplos siguientes se muestran los valores devueltos para las clases incorporadas Date y Array.

watch (método Object.watch)
public watch(name:String, callback:Function, [userData:Object]) : Boolean

Registra un controlador de eventos que debe invocarse cuando cambie una propiedad especificada de un objeto de ActionScript. Cuando cambia la propiedad, se invoca el controlador de eventos con myObject como objeto contenedor. Puede utilizar la sentencia return de la definición del método callback para modificar el valor de la propiedad que está observando. El valor devuelto por el método callback se asigna a la propiedad del objeto observado. El valor de devolución que elija dependerá de si desea controlar, modificar o evitar cambios en la propiedad:
■ ■ ■

Si simplemente está controlando la propiedad, devuelva el parámetro newVal. Si está modificando el valor de la propiedad, devuelva su propio valor. Si desea evitar cambios en la propiedad, devuelva el parámetro oldVal.

Si el método callback que usted define no tiene una sentencia return, se asignará el valor undefined. a la propiedad del objeto observado. Un punto de observación puede filtrar (o convertir en nula) la asignación de valor mediante la devolución de un newval modificado (u oldval). Si elimina una propiedad para la que se ha establecido un punto de observación, el punto de observación no desaparecerá. Si posteriormente vuelve a crear la propiedad, el punto de observación seguirá surtiendo efecto. Para eliminar un punto de observación, utilice el método Object.unwatch. Sólo puede registrarse un punto de observación en una propiedad. Las posteriores llamadas a Object.watch() en la misma propiedad reemplazan al punto de observación original. El método Object.watch() se comporta de manera similar a la función Object.watch() en JavaScript 1.2 y posterior. La diferencia principal es el parámetro userData que Flash añade a Object.watch() y que Netscape Navigator no admite. Puede pasar el parámetro userData al controlador de eventos y utilizarlo en el controlador de eventos. El método Object.watch() no puede observar propiedades getter/setter. Las propiedades getter/setter operan mediante evaluación diferida - el valor de la propiedad no se determina hasta que se consulta realmente la propiedad. La evaluación diferida suele ser eficaz porque la propiedad no se actualiza constantemente; por contra, se evalúa cuando es necesaria. No obstante, Object.watch() necesita evaluar una propiedad para determinar si debe invocarse la función callback. Para trabajar con una propiedad getter/setter, Object.watch() necesita evaluar la propiedad constantemente, lo cual no resulta eficaz. Generalmente, las propiedades predefinidas de ActionScript, como _x, _y, _width y _height, son propiedades getter/setter que no pueden observarse con Object.watch().

540

Clases de ActionScript

Parámetros
name:String:

Una cadena; el nombre de la propiedad del objeto que se va a observar.

callback:Function: La función que se invoca cuando la propiedad observada cambia. Este parámetro es un objeto de función, en lugar de un nombre de función como una cadena. El formato de callback es callback(prop, oldVal, newVal, userData).

[opcional]: Una parte cualquiera de los datos ActionScript que se pasa al método callback. Si se omite el parámetro userData, se pasa undefined al método callback.
userData:Object

Valor devuelto
Boolean - Un valor booleano: true si el punto de observación se crea correctamente, false en caso contrario.

Ejemplo En el ejemplo siguiente se emplea watch() para determinar si la propiedad speed supera el límite de velocidad:
// Crea un objeto nuevo var myObject:Object = new Object(); // Añade una propiedad que detecte la velocidad myObject.speed = 0; // Crea una función callback para ejecutarse si cambia la propiedad speed var speedWatcher:Function = function(prop, oldVal, newVal, speedLimit) { // Comprueba si se supera el límite de velocidad if (newVal > speedLimit) { trace ("You are speeding."); } else { trace ("You are not speeding."); } // Devuelve el valor de newVal. return newVal; } // Utiliza watch() para registrar el controlador de eventos, pasando como parámetros: // - el nombre de la propiedad supervisada: "speed" // - una referencia a la función callback speedWatcher // - speedLimit (55) como parámetro userData myObject.watch("speed", speedWatcher, 55); // establece la propiedad speed en 54 y, después, en 57 myObject.speed = 54; // salida: You are not speeding myObject.speed = 57; // salida: You are speeding

Object

541

// deja de supervisar el objeto myObject.unwatch("speed"); myObject.speed = 54; // no debería haber ninguna salida

Véase también
addProperty (método Object.addProperty), unwatch (método Object.unwatch)

security (System.security)
Object | +-System.security public class security extends Object

La clase System.security contiene métodos que especifican cómo pueden comunicarse entre sí archivos SWF de diferentes dominios. Resumen de propiedades Propiedades heredadas de la clase Object
constructor (propiedad Object.constructor), __proto__ (propiedad Object.__proto__), prototype (propiedad Object.prototype), __resolve (propiedad Object.__resolve)

Resumen de métodos
Modificadores Firma
static :String) : Void

Descripción
dominios identificados puedan acceder a objetos y variables del archivo SWF llamado o de cualquier otro archivo SWF del mismo dominio que el archivo SWF llamado. dominios identificados acceder a los objetos y variables del archivo SWF, que se aloja mediante el protocolo HTTPS. dominios de una ubicación especificada por el parámetro url.

allowDomain(domain1 Permite que los archivos SWF y HTML de los

static

allowInsecureDomain Permite a los archivos SWF y HTML de los (domain:String) : Void

static

loadPolicyFile(url: Carga un archivo de política para distintos String) : Void

542

Clases de ActionScript

Métodos heredados de la clase Object
addProperty (método Object.addProperty), hasOwnProperty (método Object.hasOwnProperty), isPropertyEnumerable (método Object.isPropertyEnumerable), isPrototypeOf (método Object.isPrototypeOf), registerClass (método Object.registerClass), toString (método Object.toString), unwatch (método Object.unwatch), valueOf (método Object.valueOf), watch (método Object.watch)

allowDomain (método security.allowDomain)
public static allowDomain(domain1:String) : Void

Permite que los archivos SWF y HTML de los dominios identificados puedan acceder a objetos y variables del archivo SWF llamado o de cualquier otro archivo SWF del mismo dominio que el archivo SWF llamado. En archivos que se reproducen en Flash Player 7 o posterior, los parámetros transferidos deben seguir las reglas de nomenclatura de dominio exacto. Por ejemplo, para permitir el acceso a los archivos SWF alojados en www.domain.com o en store.domain.com, se deben transferir ambos nombres de dominio:
// Para Flash Player 6 System.security.allowDomain("domain.com"); // Comandos correspondientes para permitir el acceso de los archivos SWF // que se ejecutan en Flash Player 7 o versiones posteriores System.security.allowDomain("www.domain.com", "store.domain.com");

Asimismo, en el caso de archivos que se ejecutan en Flash Player 7 o en versiones posteriores, no podrá utilizar este método para permitir que los archivos SWF alojados mediante un protocolo seguro (HTTPS) permitan el acceso desde archivos SWF alojados en protocolos no seguros; en este caso deberá utilizar System.security.allowInsecureDomain(). Es posible que, en ocasiones, se encuentre con la siguiente situación: El usuario carga un archivo SWF secundario de un dominio diferente y desea que el archivo SWF secundario pueda crear un script en el archivo SWF principal, pero no conoce el dominio final del que procederá el archivo SWF secundario. Esto puede ocurrir, por ejemplo, cuando se utilizan redirecciones de reparto de carga o servidores de terceros. En esta situación, puede utilizar la propiedad MovieClip._url como argumento de este método. Por ejemplo, si carga un archivo SWF en my_mc, podrá llamar a System.security.allowDomain(my_mc._url).

security (System.security)

543

Si lo hace, asegúrese de que espera a que se cargue el archivo SWF de my_mc, ya que la propiedad _url no dispondrá de su valor final correcto hasta que el archivo esté completamente cargado. El mejor modo de determinar si un archivo SWF secundario ha finalizado la carga es utilizar MovieClipLoader.onLoadComplete. También puede darse la situación contraria, es decir, podría crear un archivo SWF secundario en el que quiera que su archivo principal use scripts, pero no conoce cuál será el dominio de su archivo principal. En este caso, llame a System.security.allowDomain(_parent._url) desde el archivo SWF secundario. En este caso, no tendrá que esperar a que se cargue el archivo SWF principal; el archivo principal ya estará cargado en el momento en que se cargue el archivo secundario. Parámetros
domain1:String - Una o varias cadenas que especifican dominios que tienen acceso a objetos y variables del archivo SWF que contiene la llamada a System.Security.allowDomain(). Los dominios pueden presentar formatos diferentes:
■ ■ ■

"domain.com" "http://domain.com" "http://IPaddress"

Ejemplo El archivo SWF ubicado en www.macromedia.com/MovieA.swf contiene las líneas siguientes:
System.security.allowDomain("www.shockwave.com"); loadMovie("http://www.shockwave.com/MovieB.swf", my_mc);

Como MovieA contiene la llamada allowDomain(), MovieB puede acceder a los objetos y variables de MovieA. Si MovieA no contuviera esta llamada, la función de seguridad de Flash Player impediría que MovieB accediese a los objetos y variables de MovieA. Véase también
onLoadComplete (detector de eventos MovieClipLoader.onLoadComplete), _parent (propiedad MovieClip._parent), _url (propiedad MovieClip._url), allowInsecureDomain (método security.allowInsecureDomain)

544

Clases de ActionScript

allowInsecureDomain (método security.allowInsecureDomain)
public static allowInsecureDomain(domain:String) : Void

Permite a los archivos SWF y HTML de los dominios identificados acceder a los objetos y variables del archivo SWF, que se aloja mediante el protocolo HTTPS. También permite que los archivos SWF de los dominios identificados puedan acceder a otros archivos SWF del mismo dominio que el archivo SWF llamado. De manera predeterminada, sólo los archivos SWF alojados mediante un protocolo HTTPS pueden acceder a otros archivos SWF alojados mediante el protocolo HTTPS. Esta implementación mantiene la integridad que ofrece el protocolo HTTPS. Macromedia desaconseja utilizar este método para sustituir el comportamiento predeterminado, ya que pone en riesgo la seguridad HTTPS. Sin embargo, es posible que tenga que hacerlo, por ejemplo, si necesita permitir el acceso a archivos HTTPS publicados para Flash Player 7 o posterior desde archivos HTTP publicados para Flash Player 6. Un archivo SWF publicado para Flash Player 6 puede utilizar System.security.allowDomain() para permitir acceso HTTP a HTTPS. Sin embargo, dado que la seguridad se implementa de forma distinta en Flash Player 7, se debe utilizar System.Security.allowInsecureDomain() para permitir dicho acceso en archivos SWF publicados para Flash Player 7 o versiones posteriores. Nota: a veces resulta necesario llamar a System.security.allowInsecureDomain() con un argumento que coincida exactamente con el dominio del archivo SWF en el que aparece la llamada. No es lo mismo que el método System.security.allowDomain(), al que no es necesario llamar nunca con el dominio propio de un archivo SWF como argumento. El motivo por el que a veces sí es necesario hacerlo con System.security.allowInsecureDomain() es que, de forma predeterminada, un archivo SWF en http://foo.com no podrá crear un script de un archivo SWF en https://foo.com, incluso si los dominios son idénticos. Parámetros
domain:String

- Nombre de dominio exacto, por ejemplo www.myDomainName.com o store.myDomainName.com.

security (System.security)

545

Ejemplo En el ejemplo siguiente va a alojar un examen de matemáticas en un dominio seguro, de forma que sólo puedan acceder a él los estudiantes registrados. También va a incluir en un dominio seguro la serie de archivos SWF que ha creado, en los que se ilustran determinados conceptos. Quiere que los estudiantes accedan al examen desde el archivo SWF que contiene la información relacionada con un concepto.
// Este archivo SWF se encuentra en https://myEducationSite.somewhere.com/ mathTest.swf // Los archivos de concepto se encuentran en http:// myEducationSite.somewhere.com System.security.allowInsecureDomain("myEducationSite.somewhere.com");

Véase también
allowDomain (método security.allowDomain)

loadPolicyFile (método security.loadPolicyFile)
public static loadPolicyFile(url:String) : Void

Carga un archivo de política para distintos dominios de una ubicación especificada por el parámetro url. Flash Player utiliza archivos de política como mecanismo de permiso para permitir que las películas Flash carguen datos desde servidores que no sean el suyo propio. Flash Player 7.0.14.0 buscaba archivos de política sólo en una ubicación: /crossdomain.xml en el servidor al que se había solicitado una petición de carga de datos. Para un intento de conexión XMLSocket, Flash Player 7.0.14.0 buscaba /crossdomain.xml en un servidor HTTP (puerto 80) del subdominio en el que se intentaba realizar la conexión XMLSocket. Flash Player 7.0.14.0 (y todos los reproductores anteriores) también limitaban las conexiones XMLSocket a los puertos 1024 y posteriores. Con la incorporación de System.security.loadPolicyFile(), Flash Player 7.0.19.0 puede cargar archivos de política de ubicaciones arbitrarias, como se muestra en el siguiente ejemplo:
System.security.loadPolicyFile("http://foo.com/sub/dir/pf.xml");

De este modo, Flash Player recupera un archivo de política de la URL especificada. Los permisos otorgados por el archivo de política de dicha ubicación se aplicarán a todo el contenido del mismo nivel o de un nivel inferior de la jerarquía de directorios virtual del servidor. El siguiente código es continuación del ejemplo anterior:
loadVariables("http://foo.com/sub/dir/vars.txt") // permitido loadVariables("http://foo.com/sub/dir/deep/vars2.txt") // permitido loadVariables("http://foo.com/elsewhere/vars3.txt") // no permitido

546

Clases de ActionScript

Puede utilizar loadPolicyFile() para cargar los archivos de política que desee. Al considerar una petición que requiere un archivo de política, Flash Player siempre espera a que termine la descarga de archivos de política antes de denegar una petición. Como opción final, si no hay ningún archivo de política especificado con loadPolicyFile() que autorice una petición, Flash Player consulta la ubicación predeterminada original: /crossdomain.xml. La utilización del protocolo xmlsocket con un número de puerto específico le permite recuperar archivos de política directamente de un servidor XMLSocket, como se muestra en el siguiente ejemplo:
System.security.loadPolicyFile("xmlsocket://foo.com:414");

De este modo, Flash Player intenta recuperar un archivo de política desde el host y el puerto especificados. Puede utilizarse cualquier puerto, no sólo los puertos 1024 y superiores. Tras establecer una conexión con el puerto especificado, Flash Player transmite <policy-filerequest />, terminada por un byte null. Puede configurarse un servidor XMLSocket para que responda a peticiones de archivos de política y a conexiones XMLSocket normales en el mismo puerto; en este caso, el servidor deberá esperar <policy-file-request /> antes de transmitir un archivo de política. También puede configurarse un servidor para que responda a peticiones de archivos de política en un puerto distinto de las conexiones estándar; en este caso, el servidor puede enviar un archivo de política en cuanto se establece una conexión en el puerto del archivo de política dedicado. El servidor debe enviar un byte nulo para terminar un archivo de política y más tarde puede cerrar la conexión; si el servidor no cierra la conexión, Flash Player la cerrará después de recibir el byte null de terminación. Un archivo de política proporcionado por un servidor XMLSocket tiene la misma sintaxis que cualquier otro archivo de política, pero debe especificar también los puertos a los que se concede el acceso. Cuando un archivo de política procede de un puerto inferior a 1024, dicho archivo puede conceder acceso a cualquier puerto; cuando un archivo de política procede del puerto 1024 o superior, sólo puede conceder acceso a otros puertos 1024 y superiores. Los puertos permitidos se especifican en el atributo "to-ports" de la etiqueta <allow-accessfrom>. Los números de puerto únicos, los intervalos de puertos y los comodines están permitidos. El siguiente ejemplo muestra un archivo de política XMLSocket:
<cross-domain-policy> <allow-access-from domain="*" to-ports="507" /> <allow-access-from domain="*.foo.com" to-ports="507,516" /> <allow-access-from domain="*.bar.com" to-ports="516-523" /> <allow-access-from domain="www.foo.com" to-ports="507,516-523" /> <allow-access-from domain="www.bar.com" to-ports="*" /> </cross-domain-policy>

security (System.security)

547

Un archivo de política procedente de la ubicación predeterminada original (/crossdomain.xml en un servidor HTTP del puerto 80) autoriza implícitamente el acceso a todos los puertos 1024 y superiores. No hay ninguna manera de recuperar un archivo de política que autorice operaciones de XMLSocket desde cualquier otra ubicación de un servidor HTTP; las ubicaciones personalizadas para los archivos de política XMLSocket deben encontrarse en un servidor XMLSocket. Dado que la capacidad de conectar con puertos inferiores a 1024 es una novedad, para autorizar esta conexión siempre es necesario un archivo de política cargado con loadPolicyFile(), incluso cuando un clip de película se conecta a su propio subdominio. Parámetros
url:String

- Una cadena: la URL en la que se encuentra el archivo de política de varios dominios que se va a cargar.

Selection
Object | +-Selection public class Selection extends Object

La clase Selection le permite establecer y controlar el campo de texto en el que se encuentra el punto de inserción (es decir, el campo seleccionado). Los índices de espacio de selección están basados en cero (por ejemplo, la primera posición es 0, la segunda posición es 1, etc.). No existe función constructora para la clase Selection, ya que sólo puede haber un campo seleccionado en todo momento. El objeto Selection es válido sólo si el dispositivo admite introducción de texto en línea. Si un dispositivo no admite la introducción de texto en línea y necesita un procesador principal (FEP) para introducir texto, se ignorarán todas las llamadas al objeto Selection. Resumen de propiedades Propiedades heredadas de la clase Object
constructor (propiedad Object.constructor), __proto__ (propiedad Object.__proto__), prototype (propiedad Object.prototype), __resolve (propiedad Object.__resolve)

548

Clases de ActionScript

Resumen de eventos
Evento
onSetFocus = function([oldfocus] , [newfocus]) {}

Descripción
Recibe una notificación cuando cambia la selección de entrada.

Resumen de métodos
Modificadores Firma
static r:Object) : Void static

Descripción
cambio de selección con el teclado. destino del objeto que está seleccionado con el teclado.

addListener(listene Registra un objeto para recibir notificaciones de

getFocus() : String Devuelve una cadena que especifica la ruta de

static

removeListener(list Elimina un objeto registrado previamente con el ener:Object) : Boolean

método Selection.addListener().

static

setFocus(newFocus:O Selecciona con el teclado el campo de texto, botón bject) : Boolean

o clip de película seleccionable (editable) especificado por el parámetro newFocus. texto seleccionado con el teclado actualmente.

static

setSelection(beginI Establece el espacio de selección del campo de ndex:Number, endIndex:Number) : Void

Métodos heredados de la clase Object
addProperty (método Object.addProperty), hasOwnProperty (método Object.hasOwnProperty), isPropertyEnumerable (método Object.isPropertyEnumerable), isPrototypeOf (método Object.isPrototypeOf), registerClass (método Object.registerClass), toString (método Object.toString), unwatch (método Object.unwatch), valueOf (método Object.valueOf), watch (método Object.watch)

Selection

549

addListener (método Selection.addListener)
public static addListener(listener:Object) : Void

Registra un objeto para recibir notificaciones de cambio de selección con el teclado. Cuando se selecciona con el teclado otro elemento (por ejemplo, cuando se invoca el método Selection.setFocus()), se invocará el método onSetFocus() de cada objeto detector registrado en addListener(). El cambio de selección del teclado pueden detectarlo múltiples objetos. Si el detector especificado ya se ha registrado, no se producirá ningún cambio. Parámetros
listener:Object

- Un nuevo objeto con un método onSetFocus.

Ejemplo El ejemplo siguiente crea dos campos de introducción de texto en tiempo de ejecución y define los bordes de cada campo de texto como true. Este código crea un objeto de ActionScript nuevo (genérico) denominado focusListener. Este objeto define para sí mismo una propiedad onSetFocus, a la cual asigna una función. La función está formada por dos parámetros: una referencia al campo de texto que ha dejado de estar seleccionado y una referencia al campo de texto que pasa a estar seleccionado. La función define la propiedad border del campo de texto que ha dejado de estar seleccionado con el valor false y define la propiedad border del campo que pasa a estar seleccionado con el valor true:
this.createTextField("one_txt", 99, 10, 10, 200, 20); this.createTextField("two_txt", 100, 10, 50, 200, 20); one_txt.border = true; one_txt.type = "input"; two_txt.border = true; two_txt.type = "input"; var focusListener:Object = new Object(); focusListener.onSetFocus = function(oldFocus_txt, newFocus_txt) { oldFocus_txt.border = false; newFocus_txt.border = true; }; Selection.addListener(focusListener);

Véase también
setFocus (método Selection.setFocus)

550

Clases de ActionScript

getFocus (método Selection.getFocus)
public static getFocus() : String

Devuelve una cadena que especifica la ruta de destino del objeto que está seleccionado con el teclado.

Si un objeto TextField está seleccionado con el teclado y tiene un nombre de instancia, el método getFocus() devuelve la ruta de destino del objeto TextField. En caso contrario, devuelve el nombre de la variable de TextField. Si un objeto Button o un clip de película de botón está seleccionado con el teclado, el método getFocus() devuelve la ruta de destino del objeto Button o el clip de película de botón. Si no hay seleccionado con el teclado un objeto TextField, un objeto Button, una instancia de componente ni un clip de película de botón, el método null devuelve el valor getFocus().

Valor devuelto
String

- Una cadena o null.

Ejemplo El siguiente ejemplo crea un campo de texto para mostrar la ruta del objeto seleccionado actualmente. A continuación, utiliza una función interval para actualizar periódicamente el campo. Para probarlo, añade varias instancias de botones en el escenario con distintos nombres de instancia y, a continuación, añade el siguiente código ActionScript al archivo AS o FLA.
this.createTextField("status_txt", this.getNextHighestDepth(), 0, 0, 150, 25); function FocusUpdate() { s = Selection.getFocus(); if (s) { status_txt.text = s; } } setInterval(FocusUpdate, 100);

Véase también
onSetFocus (detector de eventos Selection.onSetFocus), setFocus (método Selection.setFocus)

Selection

551

onSetFocus (detector de eventos Selection.onSetFocus)
onSetFocus = function([oldfocus], [newfocus]) {}

Recibe una notificación cuando cambia la selección de entrada. Para utilizar este detector, debe crear un objeto detector. A continuación puede definir una función para este detector y utilizar el método Selection.addListener() para registrar el detector con el objeto Selection, como en el código siguiente:
var someListener:Object = new Object(); someListener.onSetFocus = function () { // sentencias } Selection.addListener(someListener);

Los detectores permiten que diversas partes del código cooperen, ya que varios detectores pueden recibir notificación de un solo evento. Parámetros
oldfocus: newfocus:

[opcional] - El objeto que deja de estar seleccionado. [opcional] - El objeto que se selecciona.

Ejemplo El ejemplo siguiente indica cómo determinar cuándo cambia la selección de entrada en un archivo SWF entre varios campos de texto creados de forma dinámica. Introduzca el siguiente código ActionScript en un archivo FLA o AS y pruebe el documento:
this.createTextField("one_txt", 1, 0, 0, 100, 22); this.createTextField("two_txt", 2, 0, 25, 100, 22); this.createTextField("three_txt", 3, 0, 50, 100, 22); this.createTextField("four_txt", 4, 0, 75, 100, 22); for (var i in this) { if (this[i] instanceof TextField) { this[i].border = true; this[i].type = "input"; } } this.createTextField("status_txt", this.getNextHighestDepth(), 200, 10, 300, 100); status_txt.html = true; status_txt.multiline = true;

552

Clases de ActionScript

var someListener:Object = new Object(); someListener.onSetFocus = function(oldFocus, newFocus) { status_txt.htmlText = "<b>setFocus triggered</b>"; status_txt.htmlText += "<textformat tabStops='[20,80]'>"; status_txt.htmlText += "&nbsp;\toldFocus:\t"+oldFocus; status_txt.htmlText += "&nbsp;\tnewFocus:\t"+newFocus; status_txt.htmlText += "&nbsp;\tgetFocus:\t"+Selection.getFocus(); status_txt.htmlText += "</textformat>"; }; Selection.addListener(someListener);

Véase también
addListener (método Selection.addListener), setFocus (método Selection.setFocus)

removeListener (método Selection.removeListener)
public static removeListener(listener:Object) : Boolean

Elimina un objeto registrado previamente con el método Selection.addListener(). Parámetros
listener:Object

- El objeto que ya no recibe notificaciones de selección.

Valor devuelto - Si se ha eliminado correctamente el objeto listener, el método devolverá el valor Si el objeto listener no se ha eliminado correctamente (por ejemplo, porque listener no se encontraba en la lista de detectores del objeto Selection), el método devolverá el valor false.
Boolean true.

Ejemplo El código ActionScript siguiente crea varia