Paketet flash.utils innehåller flera olika funktioner på paketnivå för att välja tidpunkt för kodkörning, hämta information om klasser och objekt samt för att konvertera escape-tecken.
Funktion | Definieras med | ||
---|---|---|---|
Avbryter ett visst setInterval()-anrop. | flash.utils | ||
Avbryter ett visst setTimeout()-anrop. | flash.utils | ||
Skapar ett XML-objekt som beskriver ActionScript-objektet som anges som parameter för metoden. | flash.utils | ||
Returnerar en escape-konverterad kopia av indatasträngen, kodad som UTF-8 eller med plattformens teckentabell, beroende på värdet för System.useCodePage. | flash.utils | ||
Returnerar en referens till klassobjektet för klassen som anges av parametern name. | flash.utils | ||
Returnerar det fullständigt kvalificerade klassnamnet för ett objekt. | flash.utils | ||
Returnerar det fullständigt kvalificerade klassnamnet för basklassen för objektet som anges av parametern value. | flash.utils | ||
Används för att beräkna relativ tid. | flash.utils | ||
Kör en funktion med ett angivet intervall (i millisekunder). | flash.utils | ||
Kör en angiven funktion efter en angiven fördröjning (i millisekunder). | flash.utils | ||
Returnerar en unescape-konverterad kopia av indatasträngen, som avkodas från antingen plattformens teckentabell eller UTF-8, beroende på värdet för System.useCodePage. | flash.utils |
clearInterval | () | funktion |
public function clearInterval(id:uint):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Avbryter ett angivet setInterval()
-anrop.
Parametrar
id:uint — ID:t för anropet setInterval() som du kan ange som variabel, enligt följande:
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
setInterval()
för att skapa ett tidsbestämt intervall genom att metoden myRepeatingFunction()
anropas efter regelbundna intervaller på en sekund.
Med varje anrop från myRepeatingFunction
-metoden ökar counter
-egenskapen och när den är lika med stopCount
-egenskapen anropas clearInterval()
-metoden med egenskapen intervalId
som är ett referens-ID till det intervall som skapades tidigare.
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 | () | funktion |
public function clearTimeout(id:uint):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Avbryter ett visst setTimeout()
-anrop.
Parametrar
id:uint — ID:t för anropet setTimeout() som du kan ange som variabel, enligt följande:
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
setTimeout()
för att anropa en annan metod efter en angiven fördröjningsperiod.
En slinga skapas för att räkna till en miljon. Om systemet kan bearbeta begäran snabbare än på en sekund, tar clearTimeout()
bort setTimeout()
-begäran och myDelayedFunction()
anropas inte.
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 | () | funktion |
public function describeType(value:*):XML
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skapar ett XML-objekt som beskriver ActionScript-objektet som anges som parameter för metoden. Den här metoden implementerar programmeringsbegreppet reflection som används i ActionScript-språket.
Om parametern value
är en typinstans omfattar det returnerade XML-objektet alla instansegenskaper för den typen, men inga statiska egenskaper. Du kan undersöka det här villkoret när du tolkar XML-objektet genom att analysera värdet för <type>
-taggens isStatic
-attribut, som är false
när parametern value
är en typinstans.
De statiska egenskaperna för en typ får du om du skickar själva typen för value
-parametern. Det returnerade XML-objektet omfattar inte bara typens statiska egenskaper utan också alla dess instansegenskaper. Instansegenskaperna kapslas in i en tagg med namnet <factory>
och åtskiljs därmed från de statiska egenskaperna. I detta fall är isStatic
-attributet för <type>
-taggen true
.
Obs! Om du bara behöver gå igenom ett objekts arvshierarki och inte behöver den andra informationen från describeType()
, använder du i stället getQualifiedClassName()
och getQualifiedSuperclassName()
-funktionerna.
I följande tabell beskrivs några av taggarna och attributen i XML-objektet som genereras av describeType()
(alla klass- och gränssnittsnamn som returneras är i fullt kvalificerat format):
Tagg | Attribut | Beskrivning |
---|---|---|
<type> | XML-objektets rottagg. | |
namn | Namnet på ActionScript-objektets datatyp. | |
base | Den omedelbara överordnade klassen för ActionScript-objektets definitionsklass. Om ActionScript-objektet är ett klassobjekt är värdet Class . | |
isDynamic | true om ActionScript-objektets definitionsklass är dynamisk, i annat fall false . Om ActionScript-objektet är ett klassobjekt är värdet true eftersom Class-klassen är dynamisk. | |
isFinal | true om ActionScript-objektets definitionsklass är slutgiltig, i annat fall false . | |
isStatic | true om ActionScript-objektet är ett klassobjekt eller en konstruktorfunktion, i annat fall false . Det här attributet har namnet isStatic eftersom det är true . Alla taggar som inte är inkapslade i factory -taggen är statiska. | |
<extendsClass> | Det finns en separat extendsClass -tagg för varje omedelbar överordnade klass för ActionScript-objektets definitionsklass. | |
typ | Namnet på den överordnade klassen som utökas av ActionScript-objektets definitionsklass. | |
<implementsInterface> | Det finns en separat implementsInterface -tagg för varje gränssnitt som implementeras av ActionScript-objektets definitionsklass eller någon av dess överordnade klasser. | |
typ | Namnet på ett gränssnitt som implementeras av ActionScript-objektets definitionsklass. | |
<accessor> | En åtkomst är en egenskap som definieras av get- och set-funktioner. | |
namn | Åtkomstens namn. | |
access | Egenskapens åtkomsträttigheter. Möjliga värden är readonly , writeonly ochreadwrite . | |
typ | Datatypen för egenskapen. | |
declaredBy | Klassen innehåller tillhörande get- och set-funktioner. | |
<constant> | En konstant är en egenskap som definieras med const -programsatsen. | |
namn | Konstantens namn. | |
typ | Datatypen för konstanten. | |
<method> | En metod är en funktion som deklareras som en del av en klassdefinition. | |
namn | Metodens namn. | |
declaredBy | Klassen som innehåller metoddefinitionen. | |
returnType | Datatypen för metodens returvärde. | |
<parameter> | Det finns en separat parameter -tagg för varje parameter som definieras av metoden. Taggen är alltid inkapslad i en <method> -tagg. | |
index | En siffra som motsvarar parametrarnas visningsordning i metodens parameterlista. Den första parametern har värdet 1. | |
typ | Datatypen för parametern. | |
valfritt | true om parametern är valfri, i annat fall false . | |
<variable> | En variabel är en egenskap som definieras med var -programsatsen. | |
namn | Variabelns namn. | |
typ | Datatypen för variabeln. | |
<factory> | Om ActionScript-objektet är ett klassobjekt eller en konstruktorfunktion, kapslas alla egenskaper och metoder in i den här taggen. Om isStatic -attributet för <type> -taggen är true är alla egenskaper och metoder som inte är inkapslade i <factory> -taggen statiska. Den här taggen visas endast om ActionScript-objektet är ett klassobjekt eller en konstruktorfunktion. |
Parametrar
value:* — Objektet för vilket en typbeskrivning önskas. Alla ActionScript-värden kan skickas till den här metoden inklusive alla tillgängliga ActionScript-typer, objektinstanser, primitiva typer som uint och klassobjekt.
|
XML — Ett XML-objekt som innehåller information om objektet som skickades som parameter. Det innehåller följande information om objektet:
Obs! |
Relaterade API-element
Exempel ( Så här använder du exemplet )
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 | () | funktion |
public function escapeMultiByte(value:String):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en escape-konverterad kopia av indatasträngen, kodad som UTF-8 eller med plattformens teckentabell, beroende på värdet för System.useCodePage. Om System.useCodePage används kan miljön öppna äldre innehåll som är kodat med en lokal teckentabell, men bara på plattformar där den äldre teckentabellen används. Japanska data som kodats som Shift-JIS
kan bara escape-konverteras och unescape-konverteras korrekt på ett operativsystem där japansk standardteckentabell används.
Parametrar
value:String — Den sträng som ska escape-konverteras.
|
String — En escape-konverterad kopia av indatasträngen. Om System.useCodePage är true , kodas escape-strängen i systemets teckentabell. Om System.useCodePage är false kodas escape-strängen som UTF-8. Indatasträngen "Crüe" escape-konverteras exempelvis som "Cr%C3%BCe" på alla system om System.useCodePage ärfalse . Om system.useCodePage är true och systemet använder en latinsk teckentabell, escape-konverteras "Crüe" som "Cr%FCe". Om systemet använder en annan teckentabell som inte innehåller bokstaven "ü" blir resultatet troligtvis "Cr?e". Unescape-konvertering av "Cr%C3%BCe" med System.useCodePage inställt på true ger olika oönskade resultat på olika plattformar, t.ex. "Crüe" på en latinsk plattform. På liknande sätt kan unescape-konvertering av "Cr%FCe" med System.useCodePage inställt på false resultera i "Cre" eller "Cr?e" eller andra varianter beroende på plattformens teckentabell.
|
getDefinitionByName | () | funktion |
public function getDefinitionByName(name:String):Object
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en referens till klassobjektet för klassen som anges av parametern name
.
Parametrar
name:String — Namnet på en klass.
|
Object — Returnerar en referens till klassobjektet för klassen som anges av parametern name .
|
Utlöser
ReferenceError — Det finns ingen offentlig definition med det angivna namnet.
|
Exempel ( Så här använder du exemplet )
GetDefinitionByNameExample
för att skapa en orange fyrkant på scenen. Detta visas i följande steg:
- Variabler för bakgrundsfärgen orange och storleken 80 pixlar deklareras, som senare används när fyrkanten ritas.
- I konstruktorn kopplas variabeln
ClassReference
av typen Class till Sprite. - Det skapas en instans av en ClassReference-instans med namnet
instance
. - Eftersom
instance
, per referens, är ett Sprite-objekt, kan en fyrkant ritas och läggas till i visningslistan med de metoder som är tillgängliga för 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 | () | funktion |
public function getQualifiedClassName(value:*):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar det fullständigt kvalificerade klassnamnet för ett objekt.
Parametrar
value:* — Objektet för vilket ett fullständigt klassnamn önskas. Alla ActionScript-värden kan skickas till den här metoden inklusive alla tillgängliga ActionScript-typer, objektinstanser, primitiva typer som uint och klassobjekt.
|
String — En sträng som innehåller det fullständiga klassnamnet.
|
Relaterade API-element
getQualifiedSuperclassName | () | funktion |
public function getQualifiedSuperclassName(value:*):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar det fullständigt kvalificerade klassnamnet för basklassen för objektet som anges av parametern value
. Den här funktionen är ett snabbare sätt att hämta basklassnamn än describeType()
men den ger inte all information som describeType()
gör.
När du har hämtat namnet på en klass med den här funktionen kan du konvertera klassnamnet till en klassreferens med funktionen getDefinitionByName()
.
Obs! Funktionen är begränsad till instanshierarkier, medan funktionen describeType()
använder klassobjekthierarkier om parametern value
är en datatyp. Om describeType()
anropas på en datatyp returneras den överordnade klassen utifrån klassobjektshierarkin, där alla klassobjekt ärver från Class. Däremot ignorerar funktionen getQualifiedSuperclassName()
klassobjektshierarkin och returnerar den överordnade klassen utifrån den vanligare instanshierarkin. Ett anrop på exempelvis getQualifiedSuperclassName(String)
returnerar Object
även om String-klassobjektet tekniskt sett ärver från Class. Det betyder att resultaten är desamma oavsett om du använder en instans av en typ eller själva typen.
Parametrar
value:* — Valfritt värde.
|
String — Ett fullständigt basklassnamn eller null om det inte finns något.
|
Relaterade API-element
getTimer | () | funktion |
public function getTimer():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Används för att beräkna relativ tid. För en Flash-miljö som bearbetar ActionScript 3.0 returnerar den här metoden det antal millisekunder som har förflutit sedan Flash-miljöns virtuella dator för ActionScript 3.0 (AVM2) startades. För en Flash-miljö som bearbetar ActionScript 2.0 returnerar den här metoden det antal millisekunder som har förflutit sedan Flash-miljön initierades. Flash-miljöer använder två virtuella datorer för att bearbeta ActionScript-kod. AVM1 är den virtuella ActionScript-dator som används för att köra ActionScript 1.0 och 2.0. AVM2 är den virtuella ActionScript-dator som används för att köra ActionScript 3.0. Metoden getTimer()
fungerar på olika sätt för AVM1 och AVM2.
Avsnittet om Date-objektet innehåller mer information om kalenderdatum (tidsstämpel).
Returnerarint — Antalet millisekunder som har förflutit sedan miljön initierades (vid bearbetning av ActionScript 2.0) eller sedan den virtuella datorn startades (vid bearbetning av ActionScript 3.0). Om miljön börjar spela upp en SWF-fil och en annan SWF-fil läses in senare, visas returvärdet i förhållande till när den första SWF-filen lästes in.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
GetTimerExample
för att hämta och skriva ut antalet millisekunder sedan miljön initierades.
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 | () | funktion |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Kör en funktion med ett angivet intervall (i millisekunder).
I stället för att använda metoden setInterval()
kan det vara bra att skapa ett Timer-objekt med det angivna intervallet och använda 0 som repeatCount
-parameter (timern ställs in på att upprepas i all oändlighet).
Om du tänker använda metoden clearInterval()
för att avbryta setInterval()
-anropet bör du se till att koppla setInterval()
-anropet till en variabel (som metoden clearInterval()
senare refererar till). Om du inte anropar funktionen clearInterval()
för att avbryta setInterval()
-anropet skräpsamlas inte objektet som innehåller det tidsbestämda funktionsslutet.
Parametrar
closure:Function — Namnet på funktionen som ska köras. Ta inte med citattecken eller parenteser och ange inga parametrar för funktionen som ska anropas. Använd till exempel functionName i stället för functionName() eller functionName(param) .
| |
delay:Number — Intervallet i millisekunder.
| |
... arguments — En valfri lista med argument som skickas till closure-funktionen.
|
uint — En unik numerisk identifierare för den tidsbestämda processen. Använd denna identifierare om du vill avbryta processen, genom att anropa metoden clearInterval() .
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
setInterval()
för att skapa ett tidsbestämt intervall genom att metoden myRepeatingFunction()
anropas efter regelbundna intervaller på en sekund.
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 | () | funktion |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Kör en angiven funktion efter en angiven fördröjning (i millisekunder).
I stället för att använda den här metoden kan det vara bra att skapa ett Timer-objekt med det angivna intervallet och använda 1 som repeatCount
-parameter (timern ställs in på att bara köras en gång).
Om du tänker använda metoden clearTimeout()
för att avbryta setTimeout()
-anropet bör du se till att koppla setTimeout()
-anropet till en variabel (som clearTimeout()
-funktionen senare refererar till). Om du inte anropar funktionen clearTimeout()
för att avbryta setTimeout()
-anropet skräpsamlas inte objektet som innehåller det tidsbestämda funktionsslutet.
Parametrar
closure:Function — Namnet på funktionen som ska köras. Ta inte med citattecken eller parenteser och ange inga parametrar för funktionen som ska anropas. Använd till exempel functionName i stället för functionName() eller functionName(param) .
| |
delay:Number — Fördröjningen i millisekunder tills funktionen körs.
| |
... arguments — En valfri lista med argument som skickas till closure-funktionen.
|
uint — En unik numerisk identifierare för den tidsbestämda processen. Använd denna identifierare om du vill avbryta processen, genom att anropa metoden clearTimeout() .
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
setTimeout()
för att anropa en annan metod efter en angiven fördröjningsperiod.
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 | () | funktion |
public function unescapeMultiByte(value:String):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar en unescape-konverterad kopia av indatasträngen, som avkodas från antingen plattformens teckentabell eller UTF-8, beroende på värdet för System.useCodePage. Om System.useCodePage används kan miljön öppna äldre innehåll som är kodat med en lokal teckentabell, men bara på plattformar där den äldre teckentabellen används. Japanska data som kodats som Shift-JIS
kan bara escape-konverteras och unescape-konverteras korrekt på ett operativsystem där japansk standardteckentabell används.
Parametrar
value:String — Den escape-sträng som ska unescape-konverteras.
|
String — En unescape-konverterad kopia av indatasträngen. Om System.useCodePage är true , avkodas escape-strängen från plattformens teckentabell. Om System.useCodePage är false avkodas escape-strängen från UTF-8. Om indatasträngen är "Crüe", och System.useCodePage är false , blir resultatet "Crüe" på alla system. Om System.useCodePage är true och indatasträngen är "Cr%FCe" och en latinsk teckentabell används, blir resultatet också "Crüe". Unescape-konvertering av "Cr%C3%BCe" med System.useCodePage inställt på true ger olika oönskade resultat på olika plattformar, t.ex. "Crüe" på en latinsk plattform. På liknande sätt kan unescape-konvertering av "Cr%FCe" med System.useCodePage inställt på false resultera i "Cre" eller "Cr?e" eller andra varianter beroende på plattformens teckentabell.
|
Tue Jun 12 2018, 01:57 PM Z