Pacchettoflash.utils
Classepublic class Timer
EreditarietàTimer Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La classe Timer è l'interfaccia per i timer di Flash Player. È possibile creare nuovi oggetti Timer per eseguire il codice in una sequenza di tempo specifica. Utilizzare il metodo start() per avviare un timer. Aggiungere un listener di eventi per l'evento timer, in modo che il codice venga eseguito nell'intervallo timer.

È possibile creare oggetti Timer che vengono eseguiti una volta oppure si ripetono a intervalli prestabiliti per eseguire il codice in una pianificazione. A seconda della frequenza di fotogrammi del file SWF o dell'ambiente Flash Player (memoria disponibile e altri fattori), Flash Player potrebbe inviare gli eventi a intervalli leggermente sfalsati. Ad esempio, se un file SWF è impostato per essere riprodotto a 10 fotogrammi al secondo [f/s], vale a dire a intervalli di 100 millisecondi, ma il timer è impostato per attivare un evento a 80 millisecondi, Flash Player attiva l'evento intorno ai 100 millisecondi. Anche gli script che richiedono molta memoria possono sfalsare gli eventi.

Vedere gli esempi

Vedere anche

Operazioni con data e ora
Controllo degli intervalli di tempo


Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  currentCount: int
[sola lettura] Numero totale di volte in cui il timer è stato attivato dall'avvio da zero.
Timer
  delay: Number
Il ritardo tra gli eventi timer, in millisecondi.
Timer
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
  repeatCount: int
Il numero totale delle esecuzioni del timer.
Timer
  running: Boolean
[sola lettura] Lo stato corrente del timer; true se il timer è in esecuzione, false in caso contrario.
Timer
Metodi pubblici
 MetodoDefinito da
  
Timer(delay:Number, repeatCount:int = 0)
Costruisce un nuovo oggetto Timer con gli stati delay e repeatCount specificati.
Timer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
  
Arresta il timer, se è in esecuzione, e reimposta la proprietà currentCount su 0, agendo come il pulsante di azzeramento di un cronometro.
Timer
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
  
Avvia il timer, se non è già in esecuzione.
Timer
  
Arresta il timer.
Timer
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo.EventDispatcher
 Inherited Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo.EventDispatcher
   Inviato quando un oggetto Timer raggiunge un intervallo specificato in base alla proprietà Timer.delay.Timer
   Inviato quando viene completato il numero di richieste impostato da Timer.repeatCount.Timer
Descrizione delle proprietà
currentCountproprietà
currentCount:int  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Numero totale di volte in cui il timer è stato attivato dall'avvio da zero. Se il timer è stato reimpostato, vengono calcolate solo le attivazioni a partire dalla reimpostazione.


Implementazione
    public function get currentCount():int
delayproprietà 
delay:Number  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il ritardo tra gli eventi timer, in millisecondi. Se si imposta l'intervallo di ritardo mentre il timer è in esecuzione, il timer viene riavviato con la stessa iterazione repeatCount.


Implementazione
    public function get delay():Number
    public function set delay(value:Number):void

Genera
Error — Genera un'eccezione se il ritardo specificato è un numero negativo o non finito.
repeatCountproprietà 
repeatCount:int  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il numero totale delle esecuzioni del timer. Se il numero di ripetizioni è impostato su 0, il timer viene eseguito all'infinito oppure fino a quando non viene invocato il metodo stop() o non viene arrestato il programma. Se il numero di ripetizioni è diverso da zero, il timer viene eseguito per il numero di volte specificato. Se repeatCount è impostato su un totale più o meno identico a currentCount, il timer viene arrestato e non viene più riattivato.


Implementazione
    public function get repeatCount():int
    public function set repeatCount(value:int):void
runningproprietà 
running:Boolean  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Lo stato corrente del timer; true se il timer è in esecuzione, false in caso contrario.


Implementazione
    public function get running():Boolean
Descrizione della funzione di costruzione
Timer()Funzione di costruzione
public function Timer(delay:Number, repeatCount:int = 0)

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Costruisce un nuovo oggetto Timer con gli stati delay e repeatCount specificati.

Il timer non viene avviato automaticamente; è necessario chiamare il metodo start() per avviarlo.

Parametri
delay:Number — Il ritardo tra gli eventi timer, in millisecondi.
 
repeatCount:int (default = 0) — Specifica il numero di ripetizioni. Se uguale a zero, il timer viene ripetuto all'infinito. Se diverso da zero, il timer viene eseguito per il numero di volte specificato e poi viene arrestato.

Genera
Error — Se il ritardo specificato è un numero negativo o non finito.

Esempio

Nell'esempio seguente all'utente vengono dati 90 secondi di tempo per scrivere una risposta all'interno di un campo di testo di tipo input. Inoltre ogni trenta secondi, un campo di testo di stato segnala all'utente quanti secondi gli restano a disposizione.

Viene creato un oggetto Timer che verrà avviato dopo 30 secondi (il ritardo viene impostato su 30.000 millisecondi) e che verrà ripetuto tre volte per un totale di 90 secondi. Il timer verrà interrotto dopo la terza volta.

Vengono poi inseriti due listener di evento per il timer myTimer. Il primo viene attivato dall'evento TimerEvent.TIMER il quale si verifica ogniqualvolta il timer viene avviato. Il metodo timerHandler() cambia il testo del campo di testo statusTextField in modo da restituire i secondi mancanti. Notare che la classe Timer tiene traccia del numero di volte necessario ad avviare (repeats) aumentando il numero della proprietà currentCount.

Quando il timer viene richiamato per l'ultima volta, viene inviato l'evento TimerEvent.TIMER_COMPLETE e viene quindi richiamato il metodo completeHandler(). Il metodo completeHandler() modifica il campo di testo inputTextField: dal tipo INPUT viene trasformato nel tipo DYNAMIC; questa modifica implica che l'utente non sarà più in grado di modificare al campo di testo.

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 write 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;    
        }
    }
}
Descrizione dei metodi
reset()metodo
public function reset():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Arresta il timer, se è in esecuzione e reimposta la proprietà currentCount su 0, agendo come il pulsante di reset di un cronometro. In seguito, quando start() viene chiamato, l'istanza timer viene eseguita per il numero di volte specificato, determinato dal valore repeatCount.

Vedere anche

start()metodo 
public function start():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Avvia il timer, se non è già in esecuzione.

stop()metodo 
public function stop():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Arresta il timer. Quando start() viene chiamato dopo stop(), l'istanza timer viene eseguita per il numero di volte rimanente, determinato dalla proprietà repeatCount.

Vedere anche

Descrizione degli eventi
timer Evento
Tipo di oggetto evento: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando un oggetto Timer raggiunge un intervallo specificato in base alla proprietà Timer.delay.

Definisce il valore della proprietà type di un oggetto evento timer.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto Timer ha raggiunto l'intervallo.
timerComplete Evento  
Tipo di oggetto evento: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER_COMPLETE

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Inviato quando viene completato il numero di richieste impostato da Timer.repeatCount.

Definisce il valore della proprietà type di un oggetto evento timerComplete.

Questo evento ha le seguenti proprietà:

ProprietàValore
bubblesfalse
cancelablefalse; non è presente alcun comportamento predefinito da annullare.
currentTargetL'oggetto che elabora attivamente l'oggetto Event con un listener di eventi.
targetL'oggetto Timer che ha completato le richieste.
Esempi Come utilizzare gli esempi
TimerExample.as

L'esempio seguente utilizza la classe TimerExample per mostrare come è possibile impostare un metodo del listener timerHandler() per "intercettare" l'invio di un nuovo oggetto TimerEvent. Il timer viene avviato quando viene chiamato start() e da questo momento vengono inviati gli eventi timer.
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);
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/utils/Timer.html