Paquete | flash.utils |
Clase | public class Timer |
Herencia | Timer EventDispatcher Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
start()
para iniciar un temporizador. Añada un detector de eventos para el evento timer
para definir un código que se ejecute en el intervalo del temporizador.
Puede crear objetos Timer que se ejecuten una vez o que se repitan en intervalos especificados para ejecutar el código según la programación deseada. En función de la velocidad de fotogramas del archivo SWF o del motor de ejecución (memoria disponible y otros factores), el motor de ejecución puede distribuir eventos en intervalos ligeramente desfasados. Por ejemplo, si un archivo SWF se define para reproducirse a 10 fotogramas por segundo [fps], que equivale a intervalos de 100 milisegundos, pero el temporizador está ajustado para desencadenar un evento cada 80 milisegundos, el evento se distribuirá al acercarse al intervalo de 100 milisegundos. Los scripts que requieren mucha memoria también pueden desfasar los eventos.
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
currentCount : int [solo lectura]
Número total de veces que se ha desencadenado el temporizador desde su inicio en cero. | Timer | ||
delay : Number
Demora entre los eventos del temporizador, expresada en milisegundos. | Timer | ||
repeatCount : int
Número total de veces que se establece la ejecución del temporizador. | Timer | ||
running : Boolean [solo lectura]
Estado actual del temporizador; true si se está ejecutando; en caso contrario, se devuelve false. | Timer |
Método | Definido por | ||
---|---|---|---|
Construye un nuevo objeto Timer con los estados delay y repeatCount especificados. | Timer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Detiene el temporizador (si está en ejecución) y define la propiedad currentCount de nuevo como 0, del mismo modo que sucede con el botón “reset” de un cronómetro. | Timer | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Inicia el temporizador, si aún no se ejecuta. | Timer | ||
Detiene el temporizador. | Timer | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye cuando un objeto Timer alcanza el intervalo especificado según la propiedad Timer.delay. | Timer | |||
Se distribuye cuando se alcanza el número de peticiones definido por Timer.repeatCount. | Timer |
currentCount | propiedad |
currentCount:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Número total de veces que se ha desencadenado el temporizador desde su inicio en cero. Si el temporizador se ha restablecido, sólo se desencadenará desde el momento del restablecimiento.
Implementación
public function get currentCount():int
delay | propiedad |
delay:Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Demora entre los eventos del temporizador, expresada en milisegundos. Si define el intervalo de demora con el temporizador en ejecución, éste se reiniciará en la misma iteración de repeatCount
.
Nota: no se recomienda una demora
inferior a 20 milisegundos. La frecuencia del temporizador está limitada a 60 fotogramas por segundo, lo que significa una demora inferior al 16,6 milisegundos provoca problemas.
Implementación
public function get delay():Number
public function set delay(value:Number):void
Emite
Error — Emite una excepción si la demora especificada es negativa o no es un número finito.
|
repeatCount | propiedad |
repeatCount:int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Número total de veces que se establece la ejecución del temporizador. Si el recuento de repetición se define como 0, el temporizador continúa indefinidamente hasta un máximo de 24.86 días, o hasta que se invoca el método stop()
o se detiene el programa. Si el recuento de repetición es distinto de cero, el temporizador se ejecutará el número de veces especificado. Si repeatCount
se define como un total igual o inferior a currentCount
, el temporizador se detiene y no se vuelve a desencadenar.
Implementación
public function get repeatCount():int
public function set repeatCount(value:int):void
running | propiedad |
Timer | () | Información sobre |
public function Timer(delay:Number, repeatCount:int = 0)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Construye un nuevo objeto Timer con los estados delay
y repeatCount
especificados.
El temporizador no se inicia automáticamente; es necesario llamar al método start()
para iniciarlo.
delay:Number — Demora entre los eventos del temporizador, expresada en milisegundos. No se recomienda una demora inferior a 20 milisegundos. La frecuencia del temporizador está limitada a 60 fotogramas por segundo, lo que significa una demora inferior al 16,6 milisegundos provoca problemas.
| |
repeatCount:int (default = 0 ) — Especifica el número de repeticiones. Si es cero, el temporizador se repite indefinidamente hasta un máximo de 24.86 días (int.MAX_VALUE + 1). Si es distinto a cero, el temporizador se ejecuta el número especificado de veces y, después, se detiene.
|
Emite
Error — Emite una excepción si la demora especificada es negativa o no es un número finito.
|
Ejemplo ( Cómo utilizar este ejemplo )
Se crea un objeto Timer que se inicia en 30 segundos (el retardo se establece en 30.000 milisegundos) y se repite tres veces durante un total de 90. (El temporizador se detiene después de la tercera vez.)
Se añaden dos detectores de eventos al temporizador myTimer
. El primero se activa con el evento TimerEvent.TIMER
, que se produce cada vez que se inicia el temporizador. El método timerHandler()
cambia el texto para el campo de texto statusTextField
a fin de reflejar los segundos restantes.
Nota: la clase Timer mantiene un seguimiento del número de veces que necesita reiniciarse (repeats
) aumentando el número en la propiedad currentCount
.)
Cuando se llama al temporizador por última vez, se distribuye el evento TimerEvent.TIMER_COMPLETE
y se llama al método completeHandler()
. El método completeHandler()
cambia el tipo de campo de texto de inputTextField
de INPUT
a DYNAMIC
, lo que significa que el usuario ya no puede introducir ni modificar texto.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.Event; public class Timer_constructorExample extends Sprite { private var statusTextField:TextField = new TextField(); private var inputTextField:TextField = new TextField(); private var delay:uint = 30000; private var repeat:uint = 3; private var myTimer:Timer = new Timer(delay, repeat); public function Timer_constructorExample() { inputTextField.x = 10; inputTextField.y = 10; inputTextField.border = true; inputTextField.background = true; inputTextField.height = 200; inputTextField.width = 200; inputTextField.multiline = true; inputTextField.wordWrap = true; inputTextField.type = TextFieldType.INPUT; statusTextField.x = 10; statusTextField.y = 220; statusTextField.background = true; statusTextField.autoSize = TextFieldAutoSize.LEFT; myTimer.start(); statusTextField.text = "You have " + ((delay * repeat) / 1000) + " seconds to enter your response."; myTimer.addEventListener(TimerEvent.TIMER, timerHandler); myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler); addChild(inputTextField); addChild(statusTextField); } private function timerHandler(e:TimerEvent):void{ repeat--; statusTextField.text = ((delay * repeat) / 1000) + " seconds left."; } private function completeHandler(e:TimerEvent):void { statusTextField.text = "Times Up."; inputTextField.type = TextFieldType.DYNAMIC; } } }
reset | () | método |
public function reset():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Detiene el temporizador (si está en ejecución) y define la propiedad currentCount
de nuevo como 0, del mismo modo que ocurriría con el botón “reset” de un cronómetro. Posteriormente, cuando se realiza una llamada a start()
, la instancia del temporizador se ejecuta el número especificado de repeticiones y se define según el valor repeatCount
.
Elementos de API relacionados
start | () | método |
public function start():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inicia el temporizador, si aún no se ejecuta.
stop | () | método |
public function stop():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Detiene el temporizador. Cuando se realiza una llamada start()
después de stop()
, la instancia del temporizador se ejecuta durante el número remaining de repeticiones y se define según la propiedad repeatCount
.
Elementos de API relacionados
timer | Evento |
flash.events.TimerEvent
propiedad TimerEvent.type =
flash.events.TimerEvent.TIMER
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando un objeto Timer alcanza el intervalo especificado según la propiedad Timer.delay
.
type
de un objeto de evento timer
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto Timer que ha alcanzado su intervalo. |
timerComplete | Evento |
flash.events.TimerEvent
propiedad TimerEvent.type =
flash.events.TimerEvent.TIMER_COMPLETE
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando se alcanza el número de solicitudes definido por Timer.repeatCount
.
type
de un objeto de evento timerComplete
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto Timer que ha finalizado sus peticiones. |
TimerExample
para mostrar cómo se puede definir un método detector timerHandler()
para que detecte un nuevo objeto TimerEvent que se distribuya. El temporizador se inicia cuando se llama a start()
y, posteriormente, se distribuyen los eventos del temporizador.
package { import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.Sprite; public class TimerExample extends Sprite { public function TimerExample() { var myTimer:Timer = new Timer(1000, 2); myTimer.addEventListener("timer", timerHandler); myTimer.start(); } public function timerHandler(event:TimerEvent):void { trace("timerHandler: " + event); } } }
Tue Jun 12 2018, 02:12 PM Z