Pacchetto | flash.utils |
Classe | public class Timer |
Ereditarietà | Timer EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Altri esempi
Conversione di fusi orari
Controllo degli intervalli di tempo
Esempio di data e ora: un semplice orologio analogico
Altre informazioni
Proprietà | Definito da | ||
---|---|---|---|
constructor : 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 |
Metodo | Definito da | ||
---|---|---|---|
Costruisce un nuovo oggetto Timer con gli stati delay e repeatCount specificati. | Timer | ||
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 | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
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 | ||
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 | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
Evento | Riepilogo | Definito da | ||
---|---|---|---|---|
[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 | |||
[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 |
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à |
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.
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 )
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; } } }
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
timer | 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
.
type
di un oggetto evento timer
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto Timer ha raggiunto l'intervallo. |
timerComplete | 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
.
type
di un oggetto evento timerComplete
.
Questo evento ha le seguenti proprietà:
Proprietà | Valore |
---|---|
bubbles | false |
cancelable | false ; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto Timer che ha completato le richieste. |
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); } } }
Tue Jun 12 2018, 02:44 PM Z