Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: Recuperando datos del servidor...
Recuperando datos del servidor...
flash.utils 

Timer  - AS3

Paqueteflash.utils
Clasepublic class Timer
HerenciaTimer Inheritance EventDispatcher Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

La clase Timer es la interfaz de los temporizadores, que permiten ejecutar código en una secuencia temporal especificada. Utilice el método 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.

Ver los ejemplos



Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : 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étodos públicos
 MétodoDefinido por
  
Timer(delay:Number, repeatCount:int = 0)
Construye un nuevo objeto Timer con los estados delay y repeatCount especificados.
Timer
 Inherited
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
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
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
 Inherited
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
 Inherited
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
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
Eventos
 Evento Resumen Definido por
 Inherited[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos.EventDispatcher
 Inherited[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
Información sobre propiedades

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 
running:Boolean  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

El estado actual del temporizador; true si se está ejecutando; en caso contrario, false.



Implementación
    public function get running():Boolean
Información sobre constructores

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.

Parámetros
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 )

En el ejemplo siguiente, se dan 90 segundos al usuario para que introduzca una respuesta en un campo de texto de entrada. Asimismo, cada 30 segundos, un mensaje de estado permite al usuario saber cuántos segundos le quedan.

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;    
        }
    }
}
Información sobre métodos

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

Información sobre eventos

timer

Evento
Tipo de objeto de 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.

Define el valor de la propiedad type de un objeto de evento timer.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetObjeto que procesa de forma activa el objeto de evento con un detector de eventos.
targetEl objeto Timer que ha alcanzado su intervalo.

timerComplete

Evento  
Tipo de objeto de 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.

Define el valor de la propiedad type de un objeto de evento timerComplete.

Este evento tiene las propiedades siguientes:

PropiedadValor
bubblesfalse
cancelablefalse; no hay ningún comportamiento predeterminado que cancelar.
currentTargetObjeto que procesa de forma activa el objeto de evento con un detector de eventos.
targetEl objeto Timer que ha finalizado sus peticiones.
TimerExample.as

En el ejemplo siguiente, se utiliza la clase 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);
        }
    }
}




[ X ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.