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

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La classe Timer est l'interface des horloges Flash Player. La création d’objets Timer vous permet d’exécuter le code avec 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 de Flash Player (mémoire disponible et autres facteurs), Flash Player risque de distribuer les événements à intervalles légèrement décalés. Par exemple, si un fichier SWF doit être lu à 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, Flash Player déclenche l'événement à 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

Voir aussi

Utilisation des dates et heures
Contrôle des intervalles temporels


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
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  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 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 Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif.EventDispatcher
 Inherited Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif.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 des propriétés
currentCountpropriété
currentCount:int  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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
delaypropriété 
delay:Number  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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.


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

Lance
Error — Cette opération renvoie une exception si le délai spécifié est négatif ou ne correspond pas à un nombre fini.
repeatCountpropriété 
repeatCount:int  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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 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
runningpropriété 
running:Boolean  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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
Version du lecteur : Flash Player 9

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.
 
repeatCount:int (default = 0) — Spécifie le nombre de répétitions. S’il correspond à zéro, l’horloge se répète perpétuellement. S’il correspond à une valeur autre que zéro, l’horloge s’exécute le nombre spécifié de fois, puis s’arrête.

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

Exemple

Dans l'exemple suivant, l'utilisateur a 90 secondes pour écrire une réponse dans le champ de saisie de texte. Toutes les trente secondes également, un champ de texte d'état indique le nombre de secondes restantes à l'utilisateur.

Un objet Timer est créé et démarrera dans 30 secondes (délai défini sur 30000 millisecondes) et se répétera 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. (La classe Timer garde la trace du nombre de démarrage qu'elle effectue (repeats) en augmentant le nombre de la propriété currentCount.)

Dès que le minuteur est appelé 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() change le type du champ de texte inputTextField d'INPUT en DYNAMIC, ce qui signifie que l'utilisateur ne peut plus saisir ou modifier ce champ de texte.

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;    
        }
    }
}
Détails des méthodes
reset()méthode
public function reset():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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.

Voir aussi

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

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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

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

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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.

Voir aussi

Détails des événements
timer Evénement
Type d'objet événement: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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 é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 événement: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER_COMPLETE

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

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 é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.
Exemples Utilisation des exemples
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);
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/utils/Timer.html