El paquete flash.utils contiene diversas funciones a nivel de paquete que permiten controlar el tiempo de ejecución del código, recuperar información sobre clases y objetos y convertir caracteres de escape.
Función | Definido por | ||
---|---|---|---|
Cancela una llamada setInterval() especificada. | flash.utils | ||
Cancela una llamada setTimeout() especificada. | flash.utils | ||
Produce un objeto XML que describe el objeto ActionScript asignado como parámetro del método. | flash.utils | ||
Devuelve una copia literal de la cadena de entrada codificada como UTF-8 o como página de códigos del sistema, en función del valor de System.useCodePage. | flash.utils | ||
Devuelve una referencia al objeto de clase de la clase especificada por el parámetro name. | flash.utils | ||
Devuelve el nombre de clase completo de un objeto. | flash.utils | ||
Devuelve el nombre de clase completo de la clase base del objeto especificado por el parámetro value. | flash.utils | ||
Se utiliza para calcular el tiempo relativo. | flash.utils | ||
Ejecuta una función en un intervalo especificado (en milisegundos). | flash.utils | ||
Ejecuta una función concreta tras una demora especificada (en milisegundos). | flash.utils | ||
Devuelve una copia no literal de la cadena de entrada, que se descodifica desde la página de códigos del sistema o a partir de UTF-8, en función del valor de System.useCodePage. | flash.utils |
clearInterval | () | función |
public function clearInterval(id:uint):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Cancela una llamada setInterval()
especificada.
Parámetros
id:uint — El ID de la llamada setInterval() , que se define como una variable, tal y como se indica a continuación:
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
setInterval()
para crear un intervalo de tiempo, llamando al método myRepeatingFunction()
tras intervalos regulates de un segundo.
Cada llamada del método myRepeatingFunction
incrementa la propiedad counter
y cuando es igual a la propiedad stopCount
, se llama al método clearInterval()
con la propiedad intervalId
que es un ID de referencia al intervalo creado anteriormente.
package { import flash.display.Sprite; import flash.utils.*; public class ClearIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds private var intervalId:uint; private var counter:uint = 0; private var stopCount:uint = 3; public function ClearIntervalExample() { intervalId = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); counter++; if(counter == stopCount) { trace("Clearing Interval"); clearInterval(intervalId); } } } }
clearTimeout | () | función |
public function clearTimeout(id:uint):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Cancela una llamada setTimeout()
especificada.
Parámetros
id:uint — El ID de la llamada setTimeout() , que se define como una variable, tal y como se indica a continuación:
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
setTimeout()
para llamar a otro método siguiendo un período de demora especificado.
Se crea un bucle para contar hasta un millón. Si el sistema puede procesar esta solicitud antes de un minuto, clearTimeout()
eliminará la solicitud setTimeout()
y myDelayedFunction()
no se llamará.
package { import flash.display.Sprite; import flash.utils.*; public class ClearTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction private var intervalId:uint; private var count:uint = 1000000; public function ClearTimeoutExample() { intervalId = setTimeout(myDelayedFunction, delay); startCounting(); } public function startCounting():void { var i:uint = 0; do { if(i == count-1) { clearTimeout(intervalId); trace("Your computer can count to " + count + " in less than " + delay/1000 + " seconds."); } i++; } while(i < count) } public function myDelayedFunction():void { trace("Time expired."); } } }
describeType | () | función |
public function describeType(value:*):XML
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Produce un objeto XML que describe el objeto ActionScript asignado como parámetro del método. Este método implementa el concepto de programación conocido como reflejo para el lenguaje ActionScript.
Si el parámetro value
es una instancia de un tipo, el objeto XML devuelto incluirá todas las propiedades de la instancia de dicho tipo, pero no incluirá ninguna propiedad estática. Es posible comprobar este estado al analizar el objeto XML: examine el valor del atributo isStatic
de la etiqueta <type>
, que será false
si el parámetro value
es una instancia de un tipo.
Para obtener las propiedades estáticas de un tipo, transfiera el propio tipo para el parámetro value
. El objeto XML devuelto no sólo incluye las propiedades estáticas del tipo, sino también todas las propiedades de su instancia. Las propiedades de la instancia se anidan en una etiqueta denominada <factory>
para distinguirlas de las propiedades estáticas. En este caso, el atributo isStatic
de la etiqueta <type>
es true
.
Nota: si sólo es necesario recorrer la jerarquía de herencia del objeto y no se requiere ninguna otra información proporcionada por describeType()
, utilice las funciones getQualifiedClassName()
y getQualifiedSuperclassName()
.
En la siguiente tabla se describen algunas etiquetas y atributos del objeto XML generado por describeType()
(todos los nombres de clase e interfaz devueltos aparecen en formato completo):
Etiqueta | Atributo | Descripción |
---|---|---|
<type> | Etiqueta raíz del objeto XML. | |
name | Nombre del tipo de datos de ActionScript. | |
base | Superclase inmediata de la clase que define el objeto de ActionScript. Si el objeto de ActionScript es un objeto de clase, el valor será Class . | |
isDynamic | true si la clase que define el objeto de ActionScript es dinámica; en caso contrario, false . Si el objeto de ActionScript es un objeto de clase, el valor será true , ya que la clase Class es dinámica. | |
isFinal | true si la clase que define el objeto de ActionScript es final; en caso contrario false . | |
isStatic | true si el objeto ActionScript es un objeto de clase o una función constructora; en caso contrario false . El atributo recibe el nombre de isStatic porque, si es true , cualquier etiqueta no anidada dentro de la etiqueta factory será estática. | |
<extendsClass> | Existe una etiqueta extendsClass independiente para cada superclase de la clase que define el objeto de ActionScript. | |
type | Nombre de la superclase que amplía la clase que define el objeto de ActionScript. | |
<implementsInterface> | Existe una etiqueta implementsInterface independiente para cada interfaz implementada por la clase que define el objeto de ActionScript o por cualquiera de sus superclases. | |
type | Nombre de una interfaz que implementa la clase que define el objeto de ActionScript. | |
<accessor> | Un descriptor de acceso es una propiedad definida por funciones get y set. | |
name | Nombre del descriptor de acceso. | |
access | Privilegios de acceso de la propiedad. Los valores posibles son readonly , writeonly y readwrite . | |
type | El tipo de datos de la propiedad. | |
declaredBy | La clase que contiene las funciones get y set asociadas. | |
<constant> | Una constante es una propiedad definida con la sentencia const . | |
name | Nombre de la constante. | |
type | El tipo de datos de la constante. | |
<method> | Un método es una función declarada como parte de una definición de clase. | |
name | Nombre del método. | |
declaredBy | Clase que contiene la definición del método. | |
returnType | El tipo de datos del valor devuelto del método. | |
<parameter> | Existe una etiqueta parameter independiente para cada parámetro definido por un método. Esta etiqueta siempre está anidada dentro de una etiqueta <method> . | |
index | Un número que corresponde al orden en el que aparece el parámetro en la lista de parámetros del método. El primer parámetro tiene un valor de 1. | |
type | El tipo de datos del parámetro. | |
optional | true si el parámetro es opcional; en caso contrario false . | |
<variable> | Una variable es una propiedad definida con la sentencia var . | |
name | Nombre de la variable. | |
type | El tipo de datos de la variable. | |
<factory> | Si el objeto de ActionScript es un objeto de clase o una función constructora, todas las propiedades y métodos de la instancia se anidan dentro de esta etiqueta. Si el atributo isStatic de la etiqueta <type> es true , todas las propiedades y métodos que no estén anidados dentro de la etiqueta <factory> serán estáticos. Esta etiqueta aparece solamente si el objeto de ActionScript es un objeto de clase o una función constructora. |
Parámetros
value:* — Objeto para el que se desea una descripción del tipo. Se puede transferir cualquier valor de ActionScript a este método, incluidos todos los tipos de ActionScript disponibles, las instancias de objetos, los tipos de datos simples (por ejemplo, uint) y los objetos de clases.
|
XML — Un objeto XML que contiene detalles sobre el objeto transferido como parámetro. Proporciona la siguiente información acerca del objeto:
Nota: |
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
package { import flash.display.Sprite; import flash.utils.describeType; public class DescribeTypeExample extends Sprite { public function DescribeTypeExample() { var child:Sprite = new Sprite(); var description:XML = describeType(child); trace(description..accessor.@name.toXMLString()); } } }
escapeMultiByte | () | función |
public function escapeMultiByte(value:String):String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve una copia literal de la cadena de entrada codificada como UTF-8 o como página de códigos del sistema, en función del valor de System.useCodePage. El uso de System.useCodePage permite codificar el contenido heredado en páginas de códigos locales a las que el motor de ejecución puede acceder, aunque solamente en sistemas que utilicen dicha página de códigos heredada. Por ejemplo, los datos japoneses codificados como Shift-JIS
sólo se representan literalmente de forma correcta en un sistema operativo que utilice páginas de código predeterminadas para japonés.
Parámetros
value:String — Cadena que se va a representar literalmente.
|
String — Una copia literal de la cadena de entrada. Si System.useCodePage es true , la cadena literal se codifica en la página de códigos del sistema. Si System.useCodePage es false , la cadena literal se codifica a partir de UTF-8. Por ejemplo, la cadena de entrada "Crüe" se mostrará literalmente como "Cr%C3%BCe" en todos los sistemas si System.useCodePage es false . Si system.useCodePage es true y el sistema utiliza la página de códigos latina, "Crüe" se representará literalmente como "Cr%FCe". Si el sistema utiliza una página de códigos no latina que no contenga la letra 'ü', probablemente el resultado será "Cr?e". La representación no literal de "Cr%C3%BCe" con System.useCodePage definido como true producirá distintos resultados erróneos en los diferentes sistemas, por ejemplo, "Crüe" en un sistema latino. Del mismo modo, la representación no literal de "Cr%FCe" con System.useCodePage definido como false puede producir "Cre", "Cr?e" u otras variaciones dependiendo de la página de códigos del sistema.
|
getDefinitionByName | () | función |
public function getDefinitionByName(name:String):Object
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve una referencia al objeto de clase de la clase especificada por el parámetro name
.
Parámetros
name:String — Nombre de una clase.
|
Object — Devuelve una referencia al objeto de clase de la clase especificada por el parámetro name .
|
Emite
ReferenceError — No existe ninguna definición pública con el nombre especificado.
|
Ejemplo ( Cómo utilizar este ejemplo )
GetDefinitionByNameExample
para crear un cuadro naranja en el escenario. Esto se consigue con los pasos siguientes:
- Se declaran variables para el color de fondo naranja y un tamaño de 80 píxeles, que posteriormente se utilizarán en el dibujo del cuadro.
- En el constructor, una variable
ClassReference
de tipo Class se asigna a Sprite. - Se crea una instancia de ClassReference denominada
instance
. - Debido a que
instance
es, por referencia, un objeto Sprite, se puede dibujar y añadir un cuadrado a la lista de visualización utilizando los métodos disponibles para Sprite.
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.utils.getDefinitionByName; public class GetDefinitionByNameExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function GetDefinitionByNameExample() { var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; var instance:Object = new ClassReference(); instance.graphics.beginFill(bgColor); instance.graphics.drawRect(0, 0, size, size); instance.graphics.endFill(); addChild(DisplayObject(instance)); } } }
getQualifiedClassName | () | función |
public function getQualifiedClassName(value:*):String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve el nombre de clase completo de un objeto.
Parámetros
value:* — El objeto para el que se desea un nombre de clase completo. Se puede transferir cualquier valor de ActionScript a este método, incluidos todos los tipos de ActionScript disponibles, las instancias de objetos, los tipos de datos simples (por ejemplo, uint) y los objetos de clases.
|
String — Una cadena que contiene el nombre de clase completo.
|
Elementos de API relacionados
getQualifiedSuperclassName | () | función |
public function getQualifiedSuperclassName(value:*):String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve el nombre de clase completo de la clase base del objeto especificado por el parámetro value
. Esta función proporciona un método más rápido que describeType()
para recuperar el nombre de la clase base, pero no proporciona toda la información suministrada por describeType()
.
Tras recuperar el nombre de una clase con esta función, puede convertir el nombre de la clase en una referencia a la clase con la función getDefinitionByName()
.
Nota: esta función se limita a las jerarquías de instancias, mientras que la función describeType()
utiliza jerarquías de objetos de clase si el parámetro value
es un tipo de datos. Al llamar a describeType()
en un tipo de datos, se devuelve la superclase basada en la jerarquía del objeto de clase, en la que todos los objetos de clase se heredan de la clase Class. Sin embargo, la función getQualifiedSuperclassName()
omite la jerarquía del objeto de clase y devuelve la superclase basada en la jerarquía de instancias más familiar. Por ejemplo, al llamar a getQualifiedSuperclassName(String)
se devuelve Object
, aunque técnicamente el objeto de clase String hereda de la clase Class. Es decir, los resultados son los mismos utilice una instancia de un tipo o el propio tipo.
Parámetros
value:* — Cualquier valor.
|
String — Un nombre de clase base completo o null , si no existe ninguno.
|
Elementos de API relacionados
getTimer | () | función |
public function getTimer():int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se utiliza para calcular el tiempo relativo. En un motor de ejecución de Flash que procesa ActionScript 3.0, este método devuelve el número de milisegundos transcurridos desde el inicio de la máquina virtual del motor de ejecución de Flash para ActionScript 3.0 (AVM2). En un motor de ejecución de Flash que procesa ActionScript 2.0, este método devuelve el número de milisegundos transcurridos desde la inicialización del motor de ejecución de Flash. Los motores de ejecución de Flash utilizan dos máquinas virtuales para procesar ActionScript. AVM1 es la máquina virtual de ActionScript que se utiliza para ejecutar ActionScript 1.0 y 2.0. AVM2 es la máquina virtual de ActionScript que se utiliza para ejecutar ActionScript 3.0. El comportamiento del método getTimer()
para AVM1 es diferente del comportamiento para AVM2.
En una fecha de calendario (timestamp), consulte el objeto Date.
Valor devueltoint — El número de milisegundos transcurridos desde que se ha inicializado el motor de ejecución (durante el procesamiento de ActionScript 2.0) o desde el inicio de la máquina virtual (durante el procesamiento de ActionScript 3.0). Si el motor de ejecución comienza a reproducir un archivo SWF y se carga otro archivo SWF más adelante, el valor devuelto está relacionado con el momento en que se cargó el primer archivo SWF.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
GetTimerExample
para obtener e imprimir el número de milisegundos transcurridos desde que se inicializó el motor de ejecución.
package { import flash.utils.getTimer; import flash.display.Sprite; public class GetTimerExample extends Sprite { public function GetTimerExample() { var duration:uint = getTimer(); trace("duration: " + duration); } } }
setInterval | () | función |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Ejecuta una función en un intervalo especificado (en milisegundos).
En lugar de utilizar el método setInterval()
, considere la posibilidad de crear un objeto Timer, con el intervalo especificado, utilizando 0 como el parámetro repeatCount
(que definirá el temporizador para que se repita indefinidamente).
Si pretende utilizar el método clearInterval()
para cancelar la llamada a setInterval()
, es importante que asigne la llamada setInterval()
a una variable (a la que la función clearInterval()
hará referencia más tarde). Si no llama a la función clearInterval()
para cancelar la llamada a setInterval()
, el objeto con la función de cierre de tiempo de espera definida no entrará en el proceso de recolección de datos innecesarios.
Parámetros
closure:Function — Nombre de la función que se va a ejecutar. No utilice comillas ni paréntesis, ni especifique parámetros de la función a la que se va a llamar. Por ejemplo, utilice functionName , no functionName() ni functionName(param) .
| |
delay:Number — Intervalo, en milisegundos.
| |
... arguments — Lista opcional de argumentos que se transfieren a la función de cierre.
|
uint — Identificador numérico exclusivo para el proceso de tiempo. Utilice este identificador para cancelar el proceso llamando al método clearInterval() .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
setInterval()
para crear un intervalo de tiempo, llamando al método myRepeatingFunction()
tras intervalos regulates de un segundo.
package { import flash.display.Sprite; import flash.utils.*; public class SetIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds public function SetIntervalExample() { var intervalId:uint = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
setTimeout | () | función |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Ejecuta una función concreta tras una demora especificada (en milisegundos).
En lugar de utilizar este método, considere la posibilidad de crear un objeto Timer, con el intervalo especificado, utilizando 1 como el parámetro repeatCount
(que definirá el temporizador para que se repita una sola vez).
Si pretender utilizar el método clearTimeout()
para cancelar la llamada setTimeout()
, es importante que asigne la llamada setTimeout()
a una variable (a la que hará referencia más adelante la función clearTimeout()
) Si no llama a la función clearTimeout()
para cancelar la llamada a setTimeout()
, el el objeto que contiene la función de cierre de tiempo de espera definida no entrará en el proceso de recolección de datos innecesarios.
Parámetros
closure:Function — Nombre de la función que se va a ejecutar. No utilice comillas ni paréntesis, ni especifique parámetros de la función a la que se va a llamar. Por ejemplo, utilice functionName , no functionName() ni functionName(param) .
| |
delay:Number — La demora, expresada en milisegundos, hasta la ejecución de la función.
| |
... arguments — Lista opcional de argumentos que se transfieren a la función de cierre.
|
uint — Identificador numérico exclusivo para el proceso de tiempo. Utilice este identificador para cancelar el proceso llamando al método clearTimeout() .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
setTimeout()
para llamar a otro método siguiendo un período de demora especificado.
package { import flash.display.Sprite; import flash.utils.*; public class SetTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction public function SetTimeoutExample() { var intervalId:uint = setTimeout(myDelayedFunction, delay, "Hello", "World"); } public function myDelayedFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
unescapeMultiByte | () | función |
public function unescapeMultiByte(value:String):String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve una copia no literal de la cadena de entrada, que se descodifica desde la página de códigos del sistema o a partir de UTF-8, en función del valor de System.useCodePage. El uso de System.useCodePage permite codificar el contenido heredado en páginas de códigos locales a las que el motor de ejecución puede acceder, aunque solamente en sistemas que utilicen dicha página de códigos heredada. Por ejemplo, los datos japoneses codificados como Shift-JIS
sólo se representan literalmente de forma correcta en un sistema operativo que utilice páginas de código predeterminadas para japonés.
Parámetros
value:String — Cadena literal que no se va a representar literalmente.
|
String — Copia no literal de la cadena de entrada. Si System.useCodePage es true , la cadena literal se descodifica en la página de código del sistema. Si System.useCodePage es false , la cadena literal se descodifica a partir de UTF-8. Por ejemplo, si la cadena de entrada es "Crüe" y System.useCodePage es false , el resultado será "Crüe" en todos los sistemas. Si System.useCodePage es true y la cadena de entrada es "Cr%FCe" (y el sistema utiliza una página de códigos latina), el resultado también será "Crüe". La representación no literal de "Cr%C3%BCe" con System.useCodePage definido como true producirá distintos resultados erróneos en los diferentes sistemas, por ejemplo, "Crüe" en un sistema latino. Del mismo modo, la representación no literal de "Cr%FCe" con System.useCodePage definido como false puede producir "Cre", "Cr?e" u otras variaciones dependiendo de la página de códigos del sistema.
|
Tue Jun 12 2018, 02:28 PM Z