Het pakket flash.utils bevat verschillende functies op pakketniveau om het uitvoeren van code te timen, informatie over klassen en objecten op te halen en escape-tekens om te zetten.
Functie | Gedefinieerd door | ||
---|---|---|---|
Hiermee wordt een opgegeven aanroep van setInterval() geannuleerd. | flash.utils | ||
Hiermee wordt een opgegeven aanroep van setTimeout() geannuleerd. | flash.utils | ||
Hiermee wordt een XML-object gemaakt dat het ActionScript-object beschrijft dat als parameter van de methode is benoemd. | flash.utils | ||
Retourneert een beschermde kopie van de ingevoerde tekenreeks die als UTF-8 of systeemcodepagina is gecodeerd, afhankelijk van de waarde van System.useCodePage. | flash.utils | ||
Hiermee wordt een verwijzing geretourneerd naar het klasseobject van de klasse die door de parameter name wordt opgegeven. | flash.utils | ||
Retourneert de volledig gekwalificeerde klassenaam van een object. | flash.utils | ||
Hiermee wordt de volledig gekwalificeerde klassenaam van de basisklasse van het object geretourneerd dat door de parameter value wordt opgegeven. | flash.utils | ||
Wordt gebruikt om relatieve tijd te berekenen. | flash.utils | ||
Hiermee wordt een functie volgens een opgegeven interval (in milliseconden) uitgevoerd. | flash.utils | ||
Hiermee wordt een opgegeven functie na een opgegeven vertraging (in milliseconden) uitgevoerd. | flash.utils | ||
Retourneert een onbeschermde kopie van de ingevoerde tekenreeks die is gedecodeerd van een systeemcodepagina of UTF-8, afhankelijk van de waarde van System.useCodePage. | flash.utils |
clearInterval | () | functie |
public function clearInterval(id:uint):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Hiermee wordt een opgegeven aanroep van setInterval()
geannuleerd.
Parameters
id:uint — De id van de aanroep setInterval() , die u instelt op een variabele, zoals in het volgende:
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
setInterval()
gebruikt om een getimed interval te maken waarbij de methode myRepeatingFunction()
met een regelmatig interval van één seconde wordt aangeroepen.
Iedere aanroep van de methode myRepeatingFunction
verhoogt de eigenschap counter
, en als deze gelijk is aan de eigenschap stopCount
wordt de methode clearInterval()
aangeroepen met de eigenschap intervalId
, die een referentie-id is aan het interval dat eerder is gemaakt.
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 | () | functie |
public function clearTimeout(id:uint):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Hiermee wordt een opgegeven aanroep van setTimeout()
geannuleerd.
Parameters
id:uint — De id van de aanroep setTimeout() , die u instelt op een variabele, zoals in het volgende:
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
setTimeout()
gebruikt om een andere methode aan te roepen volgens een opgegeven vertragingsperiode.
Er wordt een lus gemaakt om tot één miljoen te tellen. Wanneer het systeem deze aanvraag sneller dan één seconde kan verwerken, verwijdert clearTimeout()
de aanvraag setTimeout()
en wordtmyDelayedFunction()
niet aangeroepen.
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 | () | functie |
public function describeType(value:*):XML
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Hiermee wordt een XML-object gemaakt dat het ActionScript-object beschrijft dat als parameter van de methode is benoemd. Deze methode implementeert het programmeerconcept van reflectie voor de ActionScript-taal.
Wanneer de parameter value
een instantie van een type is, bevat het geretourneerde XML-object alle instantie-eigenschappen van dat type, maar geen statische eigenschappen. U kunt dit controleren wanneer u een XML-object parseert door de waarde te bestuderen van het kenmerk isStatic
van de tag <type>
. Deze is false
als de parameter value
een instantie van een type is.
Geef het type zelf door voor de parameter value
om de statische eigenschappen van een type te verkrijgen. Het geretourneerde XML-object bevat niet alleen de statische eigenschap van het type, maar ook alle instantie-eigenschappen ervan. De instantie-eigenschappen zijn genest in een tag met de naam <factory>
om ze van de statische eigenschappen te onderscheiden. In dit geval is het kenmerk isStatic
van de tag <type>
true
.
Opmerking: wanneer u alleen maar een overervingshiërarchie van een object moet doorlopen, en de andere informatie die door describeType()
is opgegeven niet nodig hebt, gebruikt u in plaats daarvan de functies getQualifiedClassName()
en getQualifiedSuperclassName()
.
In de volgende tabel wordt een aantal tags en kenmerken beschreven van het XML-object dat is gegenereerd door describeType()
(alle klasse- en interfacenamen worden in volledig gekwalificeerde indeling geretourneerd):
Tag | Kenmerk | Beschrijving |
---|---|---|
<type> | De hoofdtag van het XML-object. | |
naam | De naam van het objectgegevenstype van ActionScript. | |
base | De directe superklasse van de definitieklasse van het object ActionScript. Wanneer het ActionScript-object een klasseobject is, is de waarde Class . | |
isDynamic | true als de definitieklasse van het ActionScript-object dynamisch is; anders false . Wanneer het ActionScript-object een klasseobject is, is de waarde true omdat de klasse Class dynamisch is. | |
isFinal | true als de definitieklasse van het ActionScript-object definitief is; anders false . | |
isStatic | true als het ActionScript-object een klasseobject of een constructorfunctie is; anders false . Dit kenmerk heet isStatic omdat, als het true is, tags die niet in de tag factory zijn genest, statisch zijn. | |
<extendsClass> | Er is een afzonderlijke tag extendsClass voor iedere superklasse van de definitieklasse van het ActionScript-object. | |
type | De naam van een superklasse die de definitieklasse van het ActionScript-object verlengt. | |
<implementsInterface> | Er is een afzonderlijke tag implementsInterface voor iedere interface die door de definitieklasse van het ActionScript-object of een van de superklassen is geïmplementeerd. | |
type | De naam van een interface die de definitieklasse van het ActionScript-object implementeert. | |
<accessor> | Een accessor is een eigenschap die door de functies getter en setter wordt gedefinieerd. | |
naam | De naam van de accessor. | |
access | De toegangsrechten van de eigenschap. Mogelijke waarden zijn readonly , writeonly en readwrite . | |
type | Het gegevenstype van de eigenschap. | |
declaredBy | De klasse die de gekoppelde functies getter of setter bevat. | |
<constant> | Een constante is een eigenschap gedefinieerd met de instructie const . | |
naam | De naam van de constante. | |
type | Het gegevenstype van de constante. | |
<methode> | Een methode is een functie die is gedeclareerd als deel van een klassedefinitie. | |
naam | De naam van de methode. | |
declaredBy | De klasse die de methode definition bevat. | |
returnType | Het gegevenstype van de geretourneerde waarde van de methode. | |
<parameter> | Er is een aparte tag parameter voor elke parameter die door een methode wordt gedefinieerd. Deze tag is altijd genest binnen een tag <method> . | |
index | Een nummer dat overeenkomt met de volgorde waarin de parameter wordt weergegeven in de parameterlijst van de methode. De eerste parameter heeft een waarde 1. | |
type | Het gegevenstype van de parameter. | |
optioneel | true als de parameter optioneel is; anders false . | |
<variable> | Een variabele is een eigenschap die is gedefinieerd met de instructie var . | |
naam | De naam van de variabele. | |
type | Het gegevenstype van de variabele. | |
<factory> | Wanneer het ActionScript-object een klasseobject of constructorfunctie is, zijn alle instantie-eigenschappen en -methoden genest in deze tag. Wanneer het kenmerk isStatic van de tag <type> true is, zijn alle eigenschappen en methoden die niet binnen de tag <factory> zijn genest, statisch. Deze tag wordt alleen weergegeven als het ActionScript-object een klasseobject of een constructorfunctie is. |
Parameters
value:* — Het object waarvoor een beschrijving is gewenst. Elke ActionScript-waarde mag aan deze methode worden doorgegeven, inclusief alle beschikbare ActionScript-typen, objectinstanties en primitieve typen zoals uint, en klasseobjecten.
|
XML — Een XML-object dat details bevat over het object dat als parameter is doorgegeven. Het bevat de volgende informatie over het object:
Opmerking: |
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | functie |
public function escapeMultiByte(value:String):String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert een beschermde kopie van de ingevoerde tekenreeks die als UTF-8 of systeemcodepagina is gecodeerd, afhankelijk van de waarde van System.useCodePage. Wanneer u System.useCodePage gebruikt, kan oudere inhoud die is gecodeerd in lokale codepagina's worden benaderd door het runtimeprogramma, maar alleen op systemen met de oudere codepagina. Japanse gegevens die zijn gecodeerd als Shift-JIS
worden bijvoorbeeld alleen correct beschermd en onbeschermd weergegeven op een besturingssysteem dat een standaardcodepagina voor Japans gebruikt.
Parameters
value:String — De tekenreeks die moet worden beschermd.
|
String — Een beschermde kopie van de invoertekenreeks. Wanneer System.useCodePage true is, is de beschermde tekenreeks gecodeerd op de systeemcodepagina. Wanneer System.useCodePage false is, is de beschermde tekenreeks gecodeerd in UTF-8. Bijvoorbeeld, de invoertekenreeks 'Crüe' wordt beschermd als 'Cr%C3%BCe' op alle systemen als System.useCodePage false is. Wanneer system.useCodePage true is en het systeem gebruikt een codepagina voor Latijn, wordt 'Crüe' beschermd als 'Cr%FCe'. Wanneer het systeem een codepagina gebruikt die niet voor Latijn is bestemd en de letter 'ü' niet bevat, is het resultaat waarschijnlijk 'Cr?e'. Wanneer u de bescherming van 'Cr%C3%BCe' verwijdert terwijl System.useCodePage is ingesteld op true , levert dit op verschillende systemen verschillende ongewenste resultaten op, zoals 'Crüe' op een Latijns systeem. Ook wanneer de bescherming van 'Cr%FCe' wordt verwijderd terwijl System.useCodePage is ingesteld op false , levert dit mogelijk 'Cre' of 'Cr?e' of andere variaties op, afhankelijk van de codepagina van het systeem.
|
getDefinitionByName | () | functie |
public function getDefinitionByName(name:String):Object
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert een verwijzing naar het klasseobject dat door de parameter name
wordt opgegeven.
Parameters
name:String — De naam van een klasse.
|
Object — Retourneert een verwijzing naar het klasseobject dat door de parameter name wordt opgegeven.
|
Gegenereerde uitzondering
ReferenceError — Er bestaat geen publieke definitie met de opgegeven naam.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
GetDefinitionByNameExample
gebruikt om een oranje vierkant in het werkgebied te maken. Hierbij moeten de volgende stappen worden uitgevoerd:
- Variabelen voor de achtergrondkleur oranje en de grootte van 80 pixels worden gedeclareerd, welke later worden gebruikt voor het tekenen van het vierkant.
- Binnen de constructor wordt een variabele
ClassReference
van het type Class toegewezen aan Sprite. - Een instantie van ClassReference met de naam
instance
wordt geïnstantieerd. - Omdat
instance
via verwijzing een object Sprite is, kan een vierkant worden getekend en aan het weergaveoverzicht worden toegevoegd met de methoden die voor Sprite beschikbaar zijn.
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 | () | functie |
public function getQualifiedClassName(value:*):String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert de volledig gekwalificeerde klassenaam van een object.
Parameters
value:* — Het object waarvoor een volledig gekwalificeerde klassenaam is gewenst. Elke ActionScript-waarde mag aan deze methode worden doorgegeven, inclusief alle beschikbare ActionScript-typen, objectinstanties en primitieve typen zoals uint, en klasseobjecten.
|
String — Een tekenreeks die de volledig gekwalificeerde klassenaam bevat.
|
Verwante API-elementen
getQualifiedSuperclassName | () | functie |
public function getQualifiedSuperclassName(value:*):String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Hiermee wordt de volledig gekwalificeerde klassenaam van de basisklasse van het object geretourneerd dat door de parameter value
wordt opgegeven. Deze functie verschaft een snellere manier van basisklassenamen ophalen dan describeType()
, maar geeft ook niet alle informatie die describeType()
geeft.
Nadat u de klassenaam hebt opgehaald met deze functie, kunt u de klassenaam omzetten in een klassereferentie met de functie getDefinitionByName()
.
Opmerking: deze functie beperkt zichzelf tot instantiehiërarchieën, terwijl de functie describeType()
klasseobjecthiërarchieën gebruikt als de parameter value
een gegevenstype is. Het aanroepen van describeType()
op een gegevenstype retourneert de superklasse op basis van de klasseobjecthiërarchie, waarin alle klasseobjecten overnemen van Class. De functie getQualifiedSuperclassName()
daarentegen negeert de klasseobjecthiërarchie en retourneert de superklasse op basis van de bekendere instantiehiërarchie. Het aanroepen van getQualifiedSuperclassName(String)
retourneert bijvoorbeeld Object
, hoewel technisch gezien het klasseobject String overerft van Class. Met andere woorden, de resultaten zijn hetzelfde, of u nu een instantie van een type gebruikt of het type zelf.
Parameters
value:* — Elke waarde.
|
String — Een volledig gekwalificeerde basisklassenaam, of null , als er geen bestaat.
|
Verwante API-elementen
getTimer | () | functie |
public function getTimer():int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt gebruikt om relatieve tijd te berekenen. Als een Flash-runtime bezig is met het verwerken van ActionScript 3.0, retourneert deze methode het aantal milliseconden dat is verstreken sinds de virtuele machine voor ActionScript 3.0 (AVM2) is gestart door de Flash-runtime. Als een Flash-runtime bezig is met het verwerken van ActionScript 2.0, retourneert deze methode het aantal milliseconden dat is verstreken sinds de initialisatie van de Flash-runtime. Een Flash-runtime gebruikt twee virtuele machines voor de verwerking van ActionScript. AVM1 is de ActionScript-VM waarmee ActionScript 1.0 en 2.0 wordt uitgevoerd. AVM2 is de ActionScript-VM waarmee ActionScript 3.0 wordt uitgevoerd. Het gedrag van de getTimer()
-methode is anders voor AVM1 dan voor AVM2.
Zie het object Date voor een kalenderdatum (timestamp).
Geretourneerde waardeint — Het aantal milliseconden sinds de initialisatie van het runtimeprogramma (bij het verwerken van ActionScript 2.0) of sinds het starten van de virtuele machine (bij het verwerken van ActionScript 3.0). Wanneer het runtimeprogramma begint met het afspelen van een SWF-bestand en een ander SWF-bestand later wordt geladen, is de geretourneerde waarde relatief ten opzichte van het tijdstip wanneer het eerste SWF-bestand werd geladen.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
GetTimerExample
gebruikt voor het ophalen en afdrukken van het aantal milliseconden sinds het runtimeprogramma begon met afspelen.
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 | () | functie |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Hiermee wordt een functie volgens een opgegeven interval (in milliseconden) uitgevoerd.
In plaats van de methode setInterval()
te gebruiken, kunt u ook een object Timer maken met het opgegeven interval, met 0 als de parameter repeatCount
(die de timer oneindig laat herhalen).
Wanneer u de methode clearInterval()
wilt gebruiken om de aanroep setInterval()
te annuleren, moet u de aanroep setInterval()
toewijzen aan een variabele (waarnaar de functie clearInterval()
later zal verwijzen). Als u de functie clearInterval()
niet aanroept om de aanroep setInterval()
te annuleren, wordt het object dat de closure-functie voor setTimeout bevat, niet opgeschoond.
Parameters
closure:Function — De naam van de uit te voeren functie. Voeg geen aanhalingstekens of haakjes toe, en geef geen parameters op van de aan te roepen functie. Gebruik bijvoorbeeld functionName , niet functionName() of functionName(param) .
| |
delay:Number — Het interval, in milliseconden.
| |
... arguments — Een optionele lijst van argumenten die worden doorgegeven aan de functie closure.
|
uint — Unieke numerieke id voor het getimede proces. Gebruik deze identifier om het proces te annuleren, door de methode clearInterval() aan te roepen.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
setInterval()
gebruikt om een getimed interval te maken waarbij de methode myRepeatingFunction()
met een regelmatig interval van één seconde wordt aangeroepen.
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 | () | functie |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Hiermee wordt een opgegeven functie na een opgegeven vertraging (in milliseconden) uitgevoerd.
In plaats van deze methode te gebruiken, kunt u ook een object Timer met het opgegeven interval maken, met 1 als parameter repeatCount
(die de timer instelt om slechts één keer te lopen).
Wanneer u de methode clearTimeout()
wilt gebruiken om de aanroep setTimeout()
te annuleren, moet u de aanroep setTimeout()
toewijzen aan een variabele (waarnaar de functieclearTimeout()
later zal verwijzen). Als u de functie clearTimeout()
niet aanroept om de aanroep setTimeout()
te annuleren, wordt het object dat de closure-functie voor setTimeout bevat, niet opgeschoond.
Parameters
closure:Function — De naam van de uit te voeren functie. Voeg geen aanhalingstekens of haakjes toe, en geef geen parameters op van de aan te roepen functie. Gebruik bijvoorbeeld functionName , niet functionName() of functionName(param) .
| |
delay:Number — De vertraging in milliseconden, totdat de functie wordt uitgevoerd.
| |
... arguments — Een optionele lijst van argumenten die worden doorgegeven aan de functie closure.
|
uint — Unieke numerieke id voor het getimede proces. Gebruik deze identifier om het proces te annuleren, door de methode clearTimeout() aan te roepen.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
setTimeout()
gebruikt om een andere methode aan te roepen volgens een opgegeven vertragingsperiode.
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 | () | functie |
public function unescapeMultiByte(value:String):String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert een onbeschermde kopie van de ingevoerde tekenreeks die is gedecodeerd van een systeemcodepagina of UTF-8, afhankelijk van de waarde van System.useCodePage. Wanneer u System.useCodePage gebruikt, kan oudere inhoud die is gecodeerd in lokale codepagina's worden benaderd door het runtimeprogramma, maar alleen op systemen met de oudere codepagina. Japanse gegevens die zijn gecodeerd als Shift-JIS
worden bijvoorbeeld alleen correct beschermd en onbeschermd weergegeven op een besturingssysteem dat een standaardcodepagina voor Japans gebruikt.
Parameters
value:String — De beschermde tekenreeks waarvan de bescherming moet worden verwijderd.
|
String — Een onbeschermde kopie van de invoertekenreeks. Wanneer System.useCodePage true is, is de beschermde tekenreeks gedecodeerd uit de systeemcodepagina. Wanneer System.useCodePage false is, is de beschermde tekenreeks gedecodeerd uit UTF-8. Wanneer de invoerstring bijvoorbeeld "Crüe" is en System.useCodePage is false , dan is het resultaat op alle systemen "Crüe". Wanneer System.useCodePage true is, de invoertekenreeks is 'Cr%FCe' en het systeem gebruikt een codepagina voor Latijn, is het resultaat ook 'Crüe'. Wanneer u de bescherming van 'Cr%C3%BCe' verwijdert terwijl System.useCodePage is ingesteld op true , levert dit op verschillende systemen verschillende ongewenste resultaten op, zoals 'Crüe' op een Latijns systeem. Ook wanneer de bescherming van 'Cr%FCe' wordt verwijderd terwijl System.useCodePage is ingesteld op false , levert dit mogelijk 'Cre' of 'Cr?e' of andere variaties op, afhankelijk van de codepagina van het systeem.
|
Wed Jun 13 2018, 11:59 AM Z