Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.utils 

Timer  - AS3

Packageflash.utils
Classepublic class Timer
HéritageTimer Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

La classe Timer, qui correspond à l’interface des horloges, vous permet d’exécuter le code sur une chronologie spécifiée. Utilisez la méthode start() pour démarrer une horloge. Ajoutez un écouteur à l’événement timer pour définir le code à exécuter à intervalles définis.

Vous pouvez créer des objets Timer pour les exécuter une seule fois ou à intervalles spécifiés, afin d’exécuter du code conformément au planning défini. Selon la cadence du fichier SWF ou l’environnement d’exécution (mémoire disponible et autres facteurs), le moteur d’exécution risque de distribuer les événements à intervalles légèrement décalés. Par exemple, si la cadence d’un fichier SWF est de 10 images/seconde (i/s), soit une fréquence de 100 millisecondes, mais que votre horloge est réglée de sorte à déclencher un événement à 80 millisecondes, l’événement sera déclenché à une fréquence proche de 100 millisecondes. Les scripts qui consomment beaucoup de mémoire risquent également de décaler les événements.

Consulter les exemples

Plus d’exemples

Informations complémentaires



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  currentCount : int
[lecture seule] Nombre total de déclenchements de l’horloge depuis son démarrage.
Timer
  delay : Number
Délai, en millisecondes, entre les événements d’horloge.
Timer
  repeatCount : int
Nombre total de répétitions définies de l’horloge.
Timer
  running : Boolean
[lecture seule] Etat actuel de l’horloge : true si l’horloge est en cours d’exécution, false dans le cas contraire.
Timer
Méthodes publiques
 MéthodeDéfini par
  
Timer(delay:Number, repeatCount:int = 0)
Construit un nouvel objet Timer en tenant compte du délai et du nombre de répétitions spécifié.
Timer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
  
Arrête l’horloge, le cas échéant, et redéfinit la propriété currentCount sur 0, tout comme le bouton de remise à zéro d’un chronomètre.
Timer
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
  
Démarre l’horloge, le cas échéant.
Timer
  
Arrête l’horloge.
Timer
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
  Distribué lorsqu’un objet Timer atteint un intervalle spécifié conformément à la propriété Timer.delay.Timer
  Distribué lorsque le traitement du nombre de requêtes défini par Timer.repeatCount est terminé.Timer
Détails de la propriété

currentCount

propriété
currentCount:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Nombre total de déclenchements de l’horloge depuis son démarrage. Si l’horloge a été réinitialisée, seuls les déclenchements qui suivent la réinitialisation sont comptabilisés.



Implémentation
    public function get currentCount():int

delay

propriété 
delay:Number

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Délai, en millisecondes, entre les événements d’horloge. Si vous réglez l’intervalle lorsque l’horloge est en cours d’exécution, celle-ci redémarre à la même itération de repeatCount.

Remarque : un délai inférieur à 20 millisecondes n’est pas recommandé. La fréquence de l’horloge est limitée à 60 images par seconde, ce qui signifie qu’un délai inférieur à 16,6 millisecondes entraîne des problèmes à l’exécution.



Implémentation
    public function get delay():Number
    public function set delay(value:Number):void

Valeur émise
Error — Cette opération renvoie une exception si le délai spécifié est négatif ou ne correspond pas à un nombre fini.

repeatCount

propriété 
repeatCount:int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Nombre total de répétitions définies de l’horloge. Si le nombre de répétitions est réglé sur 0, l’horloge s’exécute indéfiniment jusqu’à un maximum de 24,86 jours, ou jusqu’à ce que la méthode stop() soit appelée ou que le programme s’arrête. Si le nombre de répétitions n’est pas réglé sur zéro, l’horloge s’exécute le nombre de fois spécifié. Si repeatCount est défini sur un total inférieur ou égal à currentCount, l’horloge s’arrête et ne se déclenche plus.



Implémentation
    public function get repeatCount():int
    public function set repeatCount(value:int):void

running

propriété 
running:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Etat actuel de l’horloge : true si l’horloge est en cours d’exécution, false dans le cas contraire.



Implémentation
    public function get running():Boolean
Détails du constructeur

Timer

()Constructeur
public function Timer(delay:Number, repeatCount:int = 0)

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Construit un nouvel objet Timer en tenant compte des états delay et repeatCount spécifiés.

L’horloge ne démarre pas automatiquement. Pour ce faire, vous devez appeler la méthode start().

Paramètres
delay:Number — Délai entre les événements Timer, en millisecondes. Un délai inférieur à 20 millisecondes n’est pas recommandé. La fréquence de l’horloge est limitée à 60 images par seconde, ce qui signifie qu’un délai inférieur à 16,6 millisecondes entraîne des problèmes à l’exécution.
 
repeatCount:int (default = 0) — Spécifie le nombre de répétitions. Si le nombre de répétitions est réglé sur zéro, l’horloge s’exécute indéfiniment jusqu’à un maximum de 24,86 jours (int.MAX_VALUE + 1). S’il correspond à une valeur autre que zéro, l’horloge s’exécute le nombre spécifié de fois, puis s’arrête.

Valeur émise
Error — Si le délai spécifié est négatif ou qu’il ne correspond pas à un nombre fini

Exemple  ( Comment utiliser cet exemple )

Dans l’exemple suivant, l’utilisateur dispose de 90 secondes pour indiquer une réponse dans le champ de texte de saisie. En outre, un message d’état indique toutes les trente secondes le nombre de secondes restantes à l’utilisateur.

Un objet Timer est créé, démarre dans 30 secondes (délai défini sur 30000 millisecondes) et se répète trois fois pour un total de 90 secondes (l’objet Timer s’interrompt après la troisième fois).

Deux écouteurs d’événement sont ajoutés au minuteur myTimer. Le premier est déclenché par l’événement TimerEvent.TIMER, qui se produit à chaque démarrage du minuteur. La méthode timerHandler() modifie le texte du champ de texte statusTextField pour afficher les secondes restantes.

Remarque : la classe Timer garde la trace du nombre de démarrage qu’elle effectue (repeats) en augmentant le nombre de la propriété currentCount.

Après que l’horloge est appelée pour la dernière fois, l’événement TimerEvent.TIMER_COMPLETE est distribué et la méthode completeHandler() est appelée. La méthode completeHandler() modifie le type du champ de texte inputTextField de INPUT à DYNAMIC, ce qui signifie que la saisie et la modification de texte ne sont plus autorisées.

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;    
        }
    }
}
Détails de la méthode

reset

()méthode
public function reset():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Arrête l’horloge, le cas échéant, et redéfinit la propriété currentCount sur 0, tout comme le bouton de remise à zéro d’un chronomètre. Lorsque start() est appelée, l’occurrence de l’horloge s’exécute le nombre de fois indiqué par la valeur repeatCount.

Eléments de l’API associés

start

()méthode 
public function start():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Démarre l’horloge, le cas échéant.

stop

()méthode 
public function stop():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Arrête l’horloge. Lorsque start() est appelée après stop(), l’occurrence de l’horloge s’exécute en fonction du nombre de répétitions (remaining) défini par la propriété repeatCount.

Eléments de l’API associés

Détails de l’événement

timer

Evénement
Type d’objet d’événement: flash.events.TimerEvent
propriété TimerEvent.type = flash.events.TimerEvent.TIMER

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué lorsqu’un objet Timer atteint un intervalle spécifié conformément à la propriété Timer.delay.

Définit la valeur de la propriété type d’un objet d’événement timer.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet Timer dont le délai imparti s’est écoulé.

timerComplete

Evénement  
Type d’objet d’événement: flash.events.TimerEvent
propriété TimerEvent.type = flash.events.TimerEvent.TIMER_COMPLETE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Distribué lorsque le traitement du nombre de requêtes défini par Timer.repeatCount est terminé.

Définit la valeur de la propriété type d’un objet d’événement timerComplete.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetL’objet Timer qui a terminé ses requêtes.
TimerExample.as

L’exemple suivant utilise la classe TimerExample pour montrer comment configurer une méthode d’écouteurs timerHandler() pour écouter un nouvel événement TimerEvent à diffuser. L’horloge démarre à l’appel de start() et les événements timer sont distribués à partir de ce moment.
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 ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.