Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: Recupero dati dal server...
Recupero dati dal server...
flash.utils 

Timer  - AS3

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

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

La classe Timer è l'interfaccia per i timer che consente di eseguire il codice in una sequenza temporale specificata. Utilizzate il metodo start() per avviare un timer. Aggiungete 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 runtime (memoria disponibile e altri fattori), gli eventi potrebbero essere inviati a intervalli leggermente sfalsati. Se un file SWF è impostato, ad esempio, per essere riprodotto a 10 fotogrammi al secondo (fps), vale a dire a intervalli di 100 millisecondi, ma il timer è impostato per attivare un evento a 80 millisecondi, l'evento verrà inviato intorno ai 100 millisecondi. Anche gli script che richiedono molta memoria possono sfalsare gli eventi.

Vedere gli esempi

Altri esempi

Altre informazioni



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
  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 di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate.
Object
 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[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR ottiene lo stato di attivazione del sistema operativo ed entra nello stato attivo.EventDispatcher
 Inherited[evento di trasmissione] Inviato quando Flash Player o l'applicazione AIR perde l'attivazione del sistema operativo e sta entrando nello stato 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à

currentCount

proprietà
currentCount:int  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

delay

proprietà 
delay:Number

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

Nota: si sconsiglia di impostare delay su un valore inferiore a 20 millisecondi. La frequenza del timer è limitata a 60 fotogrammi al secondo, quindi un ritardo inferiore a 16,6 millisecondi causerebbe problemi in fase runtime.



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.

repeatCount

proprietà 
repeatCount:int

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Il numero totale delle esecuzioni del timer. Se il numero di ripetizioni è impostato su 0, il timer viene eseguito a tempo indefinito, fino a un massimo di 24,86 giorni oppure fino a quando non viene chiamato 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

running

proprietà 
running:Boolean  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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. Si sconsiglia di impostare delay su un valore inferiore a 20 millisecondi. La frequenza del timer è limitata a 60 fotogrammi al secondo, quindi un ritardo inferiore a 16,6 millisecondi causerebbe problemi in fase runtime.
 
repeatCount:int (default = 0) — Specifica il numero di ripetizioni. Se è zero, il timer esegue un numero di ripetizioni indefinito, fino a un massimo di 24,86 giorni (int.MAX_VALUE + 1). 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  ( Come utilizzare questo esempio )

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

Viene creato un oggetto Timer che viene avviato dopo 30 secondi (il ritardo viene impostato su 30.000 millisecondi) e che viene ripetuto tre volte per un totale di 90 secondi. Il timer viene 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.

Nota: la classe Timer tiene traccia del numero di volte che deve essere avviata (repeats) aumentando il numero della proprietà currentCount.

Dopo che 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() cambia il tipo di campo di testo inputTextField da INPUT a DYNAMIC, a indicare che l'utente non può più inserire o modificare il 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 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;    
        }
    }
}
Descrizione dei metodi

reset

()metodo
public function reset():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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.

Elementi API correlati

start

()metodo 
public function start():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

stop

()metodo 
public function stop():void

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

Elementi API correlati

Descrizione degli eventi

timer

Evento
Tipo di oggetto evento: flash.events.TimerEvent
proprietà TimerEvent.type = flash.events.TimerEvent.TIMER

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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
proprietà TimerEvent.type = flash.events.TimerEvent.TIMER_COMPLETE

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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.
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 si chiama start() e da quel 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);
        }
    }
}




[ X ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.