Le package flash.utils contient différentes fonctions au niveau du package qui permettent de retarder l’exécution du code, d’extraire des informations sur les classes et les objets, et de convertir des caractères d’échappement.
Fonction | Défini par | ||
---|---|---|---|
Annule un appel setInterval() spécifié. | flash.utils | ||
Annule un appel setTimeout() spécifié. | flash.utils | ||
Produit un objet XML qui décrit l’objet ActionScript identifié en tant que paramètre de la méthode. | flash.utils | ||
Renvoie une copie contenant une séquence d’échappement de la chaîne entrée, codée au format UTF-8 ou page de codes système, selon la valeur de System.useCodePage. | flash.utils | ||
Renvoie une référence à l’objet de la classe spécifiée par le paramètre name. | flash.utils | ||
Renvoie le nom de classe complet d’un objet. | flash.utils | ||
Renvoie le nom complet de la classe de base de l’objet spécifié par le paramètre value. | flash.utils | ||
Permet de calculer le temps relatif. | flash.utils | ||
Exécute une fonction à fréquence définie (intervalle exprimé en millisecondes). | flash.utils | ||
Exécute une fonction spécifiée après un délai défini (exprimé en millisecondes). | flash.utils | ||
Renvoie une copie de la chaîne entrée soumise au processus de conversion unescape, décodée du format UTF-8 ou page de codes système, selon la valeur de System.useCodePage. | flash.utils |
clearInterval | () | fonction |
public function clearInterval(id:uint):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Annule un appel de setInterval()
spécifié.
Paramètres
id:uint — ID de l’appel de setInterval() , que vous réglez sur une variable, comme dans l’exemple suivant :
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
setInterval()
pour créer un intervalle de temps, en appelant la méthode myRepeatingFunction()
à intervalle régulier d’une seconde.
Chaque appel de la méthode myRepeatingFunction
incrémente la propriété counter
et, lorsqu’elle correspond à la propriété stopCount
, la méthode clearInterval()
est appelée avec la propriété intervalId
, identifiant faisant référence à l’intervalle créé précédemment.
package { import flash.display.Sprite; import flash.utils.*; public class ClearIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds private var intervalId:uint; private var counter:uint = 0; private var stopCount:uint = 3; public function ClearIntervalExample() { intervalId = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); counter++; if(counter == stopCount) { trace("Clearing Interval"); clearInterval(intervalId); } } } }
clearTimeout | () | fonction |
public function clearTimeout(id:uint):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Annule un appel de setTimeout()
spécifié.
Paramètres
id:uint — ID de l’appel setTimeout() , que vous réglez sur une variable, comme dans l’exemple suivant :
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
setTimeout()
pour appeler une autre méthode après un délai défini.
Une boucle est créée pour compter jusqu’à un million. Si le système peut traiter cette requête en moins d’une seconde, clearTimeout()
supprime la requête de setTimeout()
et la méthode myDelayedFunction()
n’est pas appelée.
package { import flash.display.Sprite; import flash.utils.*; public class ClearTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction private var intervalId:uint; private var count:uint = 1000000; public function ClearTimeoutExample() { intervalId = setTimeout(myDelayedFunction, delay); startCounting(); } public function startCounting():void { var i:uint = 0; do { if(i == count-1) { clearTimeout(intervalId); trace("Your computer can count to " + count + " in less than " + delay/1000 + " seconds."); } i++; } while(i < count) } public function myDelayedFunction():void { trace("Time expired."); } } }
describeType | () | fonction |
public function describeType(value:*):XML
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Produit un objet XML qui décrit l’objet ActionScript identifié en tant que paramètre de la méthode. Cette méthode implémente le concept de programmation par réflexion pour le langage ActionScript.
Si le paramètre value
est l’occurrence d’un type, l’objet XML renvoyé comprend toutes les propriétés d’occurrence de ce type, mais n’inclut aucune propriété statique. Pour vérifier cette condition lors de l’analyse de l’objet XML, examinez la valeur de l’attribut isStatic
de la balise <type>
, qui est réglée sur false
lorsque le paramètre value
est l’occurrence d’un type.
Pour obtenir les propriétés statiques d’un type, transmettez le type en tant que tel pour le paramètre value
. L’objet XML renvoyé comprend non seulement les propriétés statiques du type, mais aussi toutes les propriétés de son occurrence. Pour les distinguer des propriétés statiques, les propriétés de l’occurrence sont imbriquées dans la balise <factory>
. Dans ce cas, l’attribut isStatic
de la balise <type>
a la valeur true
.
Remarque : s’il vous suffit de parcourir la hiérarchie d’héritage d’un objet sans avoir besoin d’accéder aux autres informations fournies par describeType()
, utilisez plutôt les fonctions getQualifiedClassName()
et getQualifiedSuperclassName()
.
Le tableau ci-dessous décrit certains attributs et certaines balises de l’objet XML généré par describeType()
(tous les noms de classe et d’interface renvoyés sont au format complet) :
Balise | Attribut | Description |
---|---|---|
<type> | Balise racine de l’objet XML. | |
name | Nom du type de données de l’objet ActionScript. | |
base | Super-classe immédiate de la classe de définition de l’objet ActionScript. Si l’objet ActionScript est un objet de classe, la valeur est Class . | |
isDynamic | true si la classe de définition de l’objet ActionScript est dynamique ; false dans le cas contraire. Si l’objet ActionScript est un objet de classe, la valeur est true , car la classe Class est dynamique. | |
isFinal | true si la classe de définition de l’objet ActionScript est spécifiée en dernière position ; false dans le cas contraire. | |
isStatic | true si l’objet ActionScript est un objet de classe ou une fonction constructeur ; false dans le cas contraire. Cet attribut s’appelle isStatic car, s’il est réglé sur true , toute balise non imbriquée dans la balise factory est statique. | |
<extendsClass> | Balise extendsClass distincte, associée à chaque super-classe de la classe de définition de l’objet ActionScript. | |
type | Nom d’une super-classe développée par la classe de définition de l’objet ActionScript. | |
<implementsInterface> | A chaque interface implémentée par la classe de définition ou toute super-classe de l’objet ActionScript correspond une balise implementsInterface distincte. | |
type | Nom d’une interface implémentée par la classe de définition de l’objet ActionScript. | |
<accessor> | Un accesseur est une propriété définie par les fonctions getter et setter. | |
name | Nom de l’accesseur. | |
access | Droits d’accès de la propriété. Parmi les valeurs supportées figurent readonly , writeonly et readwrite . | |
type | Type de données de la propriété. | |
declaredBy | Classe qui contient les fonctions getter ou setter connexes. | |
<constant> | Une constante est une propriété définie par l’instruction const . | |
name | Nom de la constante. | |
type | Type de données de la constante. | |
<méthode> | Une méthode est une fonction déclarée dans le cadre d’une définition de classe. | |
name | Nom de la méthode. | |
declaredBy | Classe qui contient la définition de la méthode. | |
returnType | Type de données de la valeur renvoyée par la méthode. | |
<parameter> | A chaque paramètre défini par une méthode correspond une balise parameter distincte. Cette balise est systématiquement imbriquée dans une balise <method> . | |
index | Nombre correspondant à l’ordre d’apparition du paramètre dans la liste des paramètres de la méthode. Le premier paramètre a la valeur 1. | |
type | Type de données du paramètre. | |
optional | true si le paramètre est facultatif ; false dans le cas contraire. | |
<variable> | Une variable est une propriété définie par l’instruction var . | |
name | Nom de la variable. | |
type | Type de données de la variable. | |
<factory> | Si l’objet ActionScript est un objet de classe ou une fonction constructeur, toutes les propriétés et méthodes de ses occurrences sont imbriquées dans cette balise. Si l’attribut isStatic de la balise <type> est réglé sur true , toutes les propriétés et méthodes qui ne sont pas imbriquées dans la balise <factory> sont statiques. Cette balise n’apparaît que si l’objet ActionScript est un objet de classe ou une fonction constructeur. |
Paramètres
value:* — Objet pour lequel une description de type est requise. Toute valeur ActionScript peut être transmise à cette méthode, y compris tous les types, occurrences d’objet, types de primitives (tels que uint) et objets de classe ActionScript disponibles.
|
XML — Objet XML contenant des renseignements sur l’objet transmis sous forme de paramètre, à savoir :
Remarque : |
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
package { import flash.display.Sprite; import flash.utils.describeType; public class DescribeTypeExample extends Sprite { public function DescribeTypeExample() { var child:Sprite = new Sprite(); var description:XML = describeType(child); trace(description..accessor.@name.toXMLString()); } } }
escapeMultiByte | () | fonction |
public function escapeMultiByte(value:String):String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie une copie contenant une séquence d’échappement de la chaîne entrée, codée au format UTF-8 ou page de codes système, selon la valeur de System.useCodePage. L’utilisation de System.useCodePage permet au moteur d’exécution d’accéder au contenu hérité codé dans les pages de codes locales, mais uniquement sur les systèmes qui utilisent la page de codes héritée. Par exemple, des données en japonais codées au format Shift-JIS
ne subiront le processus de conversion escape/unescape que dans un système d’exploitation qui utilise une page de codes japonais par défaut.
Paramètres
value:String — Chaîne qui doit subir le processus de conversion escape.
|
String — Copie contenant une séquence d’échappement de la chaîne entrée. Si System.useCodePage est réglé sur true , la chaîne contenant une séquence d’échappement est codée au format page de codes système. Si System.useCodePage est réglé sur false , la chaîne contenant une séquence d’échappement est codée au format UTF-8. Par exemple, la chaîne saisie « Crüe » est convertie en « Cr%C3%BCe » dans tous les systèmes si System.useCodePage est réglé sur false .. Si system.useCodePage est réglé sur true et que le système utilise une page de codes latine, la chaîne « Crüe » sera convertie en « Cr%FCe ». Si le système utilise une page de codes non latine qui ne contient pas la lettre « ü », le résultat correspondra probablement à « Cr?e ». Si la chaîne « Cr%C3%BCe » est soumise au processus de conversion unescape et que System.useCodePage est réglé sur true , les résultats sont incorrects, mais varient selon les systèmes, par exemple « Crüe » dans un système latin. De même, si la chaîne « Cr%FCe » est soumise au processus de conversion unescape et que System.useCodePage est réglé sur false , les résultats pourraient correspondre à « Cre », à « Cr?e » ou autres variantes, selon la page de codes du système.
|
getDefinitionByName | () | fonction |
public function getDefinitionByName(name:String):Object
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie une référence à l’objet de la classe spécifiée par le paramètre name
.
Paramètres
name:String — Nom d’une classe.
|
Object — Renvoie une référence à l’objet de la classe spécifiée par le paramètre name .
|
Valeur émise
ReferenceError — Aucune définition publique n’existe sous le nom spécifié.
|
Exemple ( Comment utiliser cet exemple )
GetDefinitionByNameExample
pour créer un carré orange sur la scène. Pour ce faire, exécutez la procédure suivante :
- Des variables sont déclarées pour une couleur d’arrière-plan orange et une taille de 80 pixels, et seront ensuite utilisées pour tracer le carré.
- A l’intérieur du constructeur, une variable
ClassReference
de type Class est affectée au Sprite. - Une occurrence de ClassReference appelée
occurrence
est instanciée. occurrence
étant, par référence, un objet Sprite, il est possible de dessiner un carré et de l’ajouter à la liste d’affichage à l’aide des méthodes disponibles pour Sprite.
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.utils.getDefinitionByName; public class GetDefinitionByNameExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function GetDefinitionByNameExample() { var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; var instance:Object = new ClassReference(); instance.graphics.beginFill(bgColor); instance.graphics.drawRect(0, 0, size, size); instance.graphics.endFill(); addChild(DisplayObject(instance)); } } }
getQualifiedClassName | () | fonction |
public function getQualifiedClassName(value:*):String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie le nom de classe complet d’un objet.
Paramètres
value:* — Objet pour lequel un nom de classe complet est requis. Toute valeur ActionScript peut être transmise à cette méthode, y compris tous les types, occurrences d’objet, types de primitives (tels que uint) et objets de classe ActionScript disponibles.
|
String — Chaîne contenant le nom de classe complet.
|
Eléments de l’API associés
getQualifiedSuperclassName | () | fonction |
public function getQualifiedSuperclassName(value:*):String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie le nom complet de la classe de base de l’objet spécifié par le paramètre value
. Cette fonction permet d’extraire plus rapidement le nom de la classe de base que describeType()
, mais ne fournit pas autant d’informations que describeType()
.
Après avoir récupéré le nom d’une classe avec cette fonction, vous pouvez le convertir en référence de classe à l’aide de la fonction getDefinitionByName()
.
Remarque : cette fonction se limite elle-même aux hiérarchies d’occurrences, alors que la fonction describeType()
utilise les hiérarchies d’objets de classe si le paramètre value
est un type de données. L’appel de describeType()
sur un type de données renvoie la super-classe basée sur la hiérarchie d’objets de classe, dans laquelle tous les objets de classe héritent de Class. Cependant, la fonction getQualifiedSuperclassName()
ne tient pas compte de la hiérarchie d’objets de classe et renvoie la super-classe en fonction de la hiérarchie d’occurrences, plus familière. Ainsi, un appel de getQualifiedSuperclassName(String)
renvoie Object
bien que, théoriquement, l’objet de classe String hérite de Class. En d’autres termes, les résultats sont identiques, que vous utilisiez l’occurrence d’un type ou le type lui-même.
Paramètres
value:* — N’importe quelle valeur.
|
String — Nom complet de classe de base ou null si aucune classe n’est définie.
|
Eléments de l’API associés
getTimer | () | fonction |
public function getTimer():int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Permet de calculer le temps relatif. Pour un moteur d’exécution de Flash qui exécute ActionScript 3.0, cette méthode renvoie le nombre de millisecondes qui se sont écoulées depuis le démarrage de la machine virtuelle du moteur d’exécution de Flash pour ActionScript 3.0. Pour un moteur d’exécution de Flash qui exécute ActionScript 2.0, cette méthode renvoie le nombre de millisecondes qui se sont écoulées depuis le début de l’initialisation du moteur d’exécution de Flash. Le moteur d’exécution de Flash utilise deux machines virtuelles pour exécuter ActionScript. AVM1 désigne la machine virtuelle ActionScript qui exécute ActionScript 1.0 et 2.0. AVM2 désigne la machine virtuelle ActionScript qui exécute ActionScript 3.0. Le comportement de la méthode getTimer(),
pour AVM1 est différent du comportement pour AVM2.
Pour obtenir une date de calendrier (horodatage), voir l’objet Date.
Valeur renvoyéeint — Nombre de millisecondes écoulées depuis l’initialisation du moteur d’exécution (exécution d’ActionScript 2.0), ou depuis le démarrage de la machine virtuelle (exécution d’ActionScript 3.0). Si le moteur d’exécution commence la lecture d’un fichier SWF et qu’un autre fichier SWF est chargé ultérieurement, la valeur renvoyée désigne le moment du chargement du premier fichier SWF.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
GetTimerExample
pour obtenir et imprimer le nombre de millisecondes écoulées depuis l’initialisation du moteur d’exécution.
package { import flash.utils.getTimer; import flash.display.Sprite; public class GetTimerExample extends Sprite { public function GetTimerExample() { var duration:uint = getTimer(); trace("duration: " + duration); } } }
setInterval | () | fonction |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Exécute une fonction à fréquence définie (intervalle exprimé en millisecondes).
Au lieu d’utiliser la méthode setInterval()
, envisagez de créer un objet Timer associé à l’intervalle spécifié, en utilisant 0 pour le paramètre repeatCount
(qui règle l’horloge sur une répétition perpétuelle).
Si vous souhaitez utiliser la méthode clearInterval()
pour annuler l’appel de setInterval()
, veillez à affecter l’appel de setInterval()
à une variable (à laquelle la méthode clearInterval()
fera ultérieurement référence). Si vous n’appelez pas la fonction clearInterval()
pour annuler l’appel de setInterval()
, l’objet contenant la fonction de fermeture setTimeout spécifiée ne sera pas nettoyé.
Paramètres
closure:Function — Nom de la fonction à exécuter. N’incluez ni guillemets, ni parenthèses et ne spécifiez pas les paramètres de la fonction à appeler. Par exemple, utilisez functionName , et non functionName() ou functionName(param) .
| |
delay:Number — Intervalle, exprimé en millisecondes.
| |
... arguments — Liste facultative d’arguments transmis à la fonction de fermeture.
|
uint — Identificateur numérique unique utilisé pour le processus chronométré. Utilisez cet identificateur pour annuler le processus, en appelant la méthode clearInterval() .
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
setInterval()
pour créer un intervalle de temps, en appelant la méthode myRepeatingFunction()
à intervalle régulier d’une seconde.
package { import flash.display.Sprite; import flash.utils.*; public class SetIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds public function SetIntervalExample() { var intervalId:uint = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
setTimeout | () | fonction |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Exécute une fonction spécifiée après un délai défini (exprimé en millisecondes).
Au lieu d’utiliser cette méthode, envisagez de créer un objet Timer associé à l’intervalle spécifié, en utilisant 1 en tant que paramètre repeatCount
(qui règle l’horloge pour qu’elle ne s’exécute qu’une seule fois).
Si vous souhaitez utiliser la méthode clearTimeout()
pour annuler l’appel de setTimeout()
, veillez à affecter l’appel de setTimeout()
à une variable (à laquelle la fonction clearTimeout()
fera ultérieurement référence). Si vous n’appelez pas la fonction clearTimeout()
pour annuler l’appel de setTimeout()
, l’objet contenant la fonction de fermeture setTimeout spécifiée ne sera pas nettoyé.
Paramètres
closure:Function — Nom de la fonction à exécuter. N’incluez ni guillemets, ni parenthèses et ne spécifiez pas les paramètres de la fonction à appeler. Par exemple, utilisez functionName , et non functionName() ou functionName(param) .
| |
delay:Number — Délai, exprimé en millisecondes, qui précède l’exécution de la fonction.
| |
... arguments — Liste facultative d’arguments transmis à la fonction de fermeture.
|
uint — Identificateur numérique unique utilisé pour le processus chronométré. Utilisez cet identificateur pour annuler le processus, en appelant la méthode clearTimeout() .
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
setTimeout()
pour appeler une autre méthode après un délai défini.
package { import flash.display.Sprite; import flash.utils.*; public class SetTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction public function SetTimeoutExample() { var intervalId:uint = setTimeout(myDelayedFunction, delay, "Hello", "World"); } public function myDelayedFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
unescapeMultiByte | () | fonction |
public function unescapeMultiByte(value:String):String
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Renvoie une copie de la chaîne entrée soumise au processus de conversion unescape, décodée du format UTF-8 ou page de codes système, selon la valeur de System.useCodePage. L’utilisation de System.useCodePage permet au moteur d’exécution d’accéder au contenu hérité codé dans les pages de codes locales, mais uniquement sur les systèmes qui utilisent la page de codes héritée. Par exemple, des données en japonais codées au format Shift-JIS
ne subiront le processus de conversion escape/unescape que dans un système d’exploitation qui utilise une page de codes japonais par défaut.
Paramètres
value:String — Chaîne contenant une séquence d’échappement à convertir.
|
String — Copie de la chaîne entrée qui a subi le processus de conversion unescape. Si System.useCodePage est réglé sur true , la chaîne contenant une séquence d’échappement est décodée du format page de codes système. Si System.useCodePage est réglé sur false , la chaîne contenant une séquence d’échappement est décodée du format UTF-8. Par exemple, si la chaîne saisie correspond à "Crüe" et que System.useCodePage est définie sur false , elle s’affichera sous la forme "Crüe" dans tous les systèmes. Si System.useCodePage est réglé sur true , que la chaîne saisie correspond à « Cr%FCe » et que le système utilise une page de codes latine, le résultat est également « Crüe ». Si la chaîne « Cr%C3%BCe » est soumise au processus de conversion unescape et que System.useCodePage est réglé sur true , les résultats sont incorrects, mais varient selon les systèmes, par exemple « Crüe » dans un système latin. De même, si la chaîne « Cr%FCe » est soumise au processus de conversion unescape et que System.useCodePage est réglé sur false , les résultats pourraient correspondre à « Cre », à « Cr?e » ou autres variantes, selon la page de codes du système.
|
Tue Jun 12 2018, 09:48 AM Z