Il pacchetto flash.utils contiene varie funzioni a livello di pacchetto per il controllo dei tempi di esecuzione del codice, per il recupero di informazioni su classi e oggetti e per la conversione dei caratteri di escape.
Funzione | Definito da | ||
---|---|---|---|
Annulla una chiamata setInterval() specifica. | flash.utils | ||
Annulla una chiamata setTimeout() specifica. | flash.utils | ||
Produce un oggetto XML che descrive l'oggetto ActionScript specificato come parametro del metodo. | flash.utils | ||
Restituisce una copia con caratteri di escape della stringa di input, codificata in UTF-8 o nella tabella codici di sistema, a seconda del valore di System.useCodePage. | flash.utils | ||
Restituisce un riferimento all'oggetto classe della classe specificata dal parametro name. | flash.utils | ||
Restituisce il nome completo della classe di un oggetto. | flash.utils | ||
Restituisce il nome di classe completo della classe base dell'oggetto specificato dal parametro value. | flash.utils | ||
Utilizzata per calcolare il tempo relativo. | flash.utils | ||
Esegue una funzione a un intervallo specificato (in millisecondi). | flash.utils | ||
Esegue una funzione specifica dopo un ritardo prestabilito (in millisecondi). | flash.utils | ||
Restituisce una copia senza caratteri di escape della stringa di input, decodificata dalla tabella codici di sistema o da UTF-8 a seconda del valore di System.useCodePage. | flash.utils |
clearInterval | () | funzione |
public function clearInterval(id:uint):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Annulla una chiamata setInterval()
specifica.
Parametri
id:uint — L'ID della chiamata setInterval() , che viene impostata su una variabile, come nell'esempio seguente:
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
setInterval()
per creare un intervallo di timer, chiamando il metodo myRepeatingFunction()
dopo intervalli regolari di un secondo.
Ogni chiamata al metodo myRepeatingFunction
incrementa la proprietà counter
; quando equivale alla proprietà stopCount
, viene chiamato il metodo clearInterval()
con la proprietà intervalId
, ovvero l'ID di riferimento dell'intervallo creato in precedenza.
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 | () | funzione |
public function clearTimeout(id:uint):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Annulla una chiamata setTimeout()
specifica.
Parametri
id:uint — L'ID della chiamata setTimeout() , che viene impostata su una variabile, come nell'esempio seguente:
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
setTimeout()
per chiamare un altro metodo dopo un periodo di ritardo specificato.
Viene creato un ciclo per il conteggio fino a un milione. Se il sistema è in grado di elaborare questa richiesta prima della scadenza di una seconda richiesta, clearTimeout()
rimuoverà la richiesta setTimeout()
e myDelayedFunction()
non verrà chiamato.
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 | () | funzione |
public function describeType(value:*):XML
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Produce un oggetto XML che descrive l'oggetto ActionScript specificato come parametro del metodo. Questo metodo implementa il concetto di programmazione Reflection del linguaggio ActionScript.
Se il parametro value
è un'istanza di un tipo, l'oggetto XML restituito include tutte le proprietà di istanza di quel tipo ma non le proprietà statiche. È possibile verificare la presenza di questa condizione quando si analizza l'oggetto XML, esaminando il valore dell'attributo isStatic
del tag <type>
, che è false
quando il parametro value
è un'istanza di un tipo.
Per ottenere le proprietà statiche di un tipo, passare il tipo stesso come parametro value
. L'oggetto XML restituito include non solo le proprietà statiche del tipo, ma anche tutte le relative proprietà di istanza. Queste ultime sono nidificate all'interno di un tag <factory>
, per distinguerle dalle proprietà statiche. In questo caso, l'attributo isStatic
del tag <type>
è true
.
Nota: se occorre solo leggere la gerarchia di ereditarietà di un oggetto e non sono necessarie le altre informazioni fornite da describeType()
, utilizzate invece le funzioni getQualifiedClassName()
e getQualifiedSuperclassName()
.
Nella seguente tabella sono descritti alcuni tag e attributi dell'oggetto XML generato da describeType()
(tutti i nomi di classe e di interfaccia restituiti sono in formato completo):
Tag | Attributo | Descrizione |
---|---|---|
<type> | Il tag principale dell'oggetto XML. | |
name | Il nome del tipo di dati dell'oggetto ActionScript. | |
base | La superclasse immediata della classe che definisce l'oggetto ActionScript. Se l'oggetto ActionScript è un oggetto classe, il valore è Class . | |
isDynamic | true se la classe che definisce l'oggetto ActionScript è dinamica; false in caso contrario. Se l'oggetto ActionScript è un oggetto classe, il valore è true perché la classe Class è dinamica. | |
isFinal | true se la classe che definisce l'oggetto ActionScript è finale; false in caso contrario. | |
isStatic | true se l'oggetto ActionScript è un oggetto classe o una funzione di costruzione; false in caso contrario. Questo attributo si chiama isStatic perché se è true , i tag che non sono nidificati nel tag factory sono statici. | |
<extendsClass> | È presente un tag extendsClass distinto per ogni superclasse della classe che definisce l'oggetto ActionScript. | |
type | Il nome di una superclasse estesa dalla classe che definisce l'oggetto ActionScript. | |
<implementsInterface> | È presente un tag implementsInterface distinto per ogni interfaccia implementata dalla classe che definisce l'oggetto ActionScript o da una delle sue superclassi. | |
type | Il nome di un'interfaccia implementata dalla classe che definisce l'oggetto ActionScript. | |
<accessor> | Un accessor è una proprietà definita da funzioni getter e setter. | |
name | Il nome dell'accessor. | |
access | I diritti di accesso della proprietà. I valori possibili sono readonly , writeonly e readwrite . | |
type | Il tipo di dati della proprietà. | |
declaredBy | La classe che contiene le funzioni getter o setter associate. | |
<constant> | Una costante è una proprietà definita mediante l'istruzione const . | |
name | Il nome della costante. | |
type | Il tipo di dati della costante. | |
<method> | Un metodo è una funzione dichiarata in una definizione di classe. | |
name | Il nome del metodo. | |
declaredBy | La classe che contiene la definizione del metodo. | |
returnType | Il tipo di dati del valore restituito dal metodo. | |
<parameter> | È presente un tag parameter distinto per ogni parametro definito da un metodo. Questo tag è sempre nidificato all'interno di un <method> . | |
index | Un numero corrispondente all'ordine in cui il parametro compare nell'elenco dei parametri del metodo. Il primo parametro ha il valore 1. | |
type | Il tipo di dati del parametro. | |
optional | true se il parametro è opzionale; false in caso contrario. | |
<variable> | Una variabile è una proprietà definita mediante l'istruzione var . | |
name | Il nome della variabile. | |
type | Il tipo di dati della variabile. | |
<factory> | Se l'oggetto ActionScript è un oggetto classe o una funzione di costruzione, tutte le proprietà di istanza e i metodi sono nidificati all'interno di questo tag. Se l'attributo isStatic del tag <type> è true , tutte le proprietà e i metodi che non sono nidificati nel tag <factory> sono statici. Questo tag appare solo se l'oggetto ActionScript è un oggetto classe o una funzione di costruzione. |
Parametri
value:* — L'oggetto per il quale si desidera una descrizione del tipo. Qualunque valore ActionScript può essere passato a questo metodo, compresi tutti i tipi ActionScript disponibili, le istanze di oggetto, i tipi di base come uint e gli oggetti classe.
|
XML — Un oggetto XML contenente dettagli sull'oggetto che è stato passato come parametro. Fornisce le seguenti informazioni sull'oggetto:
Nota: |
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
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 | () | funzione |
public function escapeMultiByte(value:String):String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce una copia con caratteri di escape della stringa di input, codificata in UTF-8 o nella tabella codici di sistema, a seconda del valore di System.useCodePage. L'uso di System.useCodePage consente di rendere accessibile al runtime contenuti preesistenti codificati nella tabella codici locale, ma solo sui sistemi che utilizzano la stessa tabella codici di origine. Ad esempio, dati giapponesi codificati in Shift-JIS
vengono elaborati correttamente con e senza caratteri di escape su un sistema operativo che utilizza una tabella codici predefinita.
Parametri
value:String — La stringa da convertire con caratteri di escape.
|
String — Una copia con caratteri di escape della stringa di input. Se System.useCodePage è true , la stringa di escape viene codificata nella tabella codici di sistema. Se è false , la stringa di escape viene codificata in UTF-8. Ad esempio, se System.useCodePage è false , la stringa di input "Crüe" viene convertita in "Cr%C3%BCe" (utilizzando i caratteri di escape) su tutti i sistemi. Se System.useCodePage è true e il sistema utilizza una tabella codici Latin, "Crüe" viene convertito in "Cr%FCe" utilizzando i caratteri di escape. Se il sistema utilizza una tabella codici non Latin che non contiene la lettera 'ü', il risultato sarà probabilmente "Cr?e". Con System.useCodePage impostato su true , la conversione di "Cr%C3%BCe" in stringa senza caratteri di escape produrrà risultati indesiderati differenti su sistemi diversi, ad esempio "Crüe" su un sistema Latin. Analogamente, con System.useCodePage impostato su false , la conversione di "Cr%FCe" in stringa senza caratteri di escape potrebbe produrre "Cre" o "Cr?e" (o altre varianti) a seconda della tabella codici del sistema.
|
getDefinitionByName | () | funzione |
public function getDefinitionByName(name:String):Object
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce un riferimento all'oggetto classe della classe specificata dal parametro name
.
Parametri
name:String — Il nome di una classe.
|
Object — Restituisce un riferimento all'oggetto classe della classe specificata dal parametro name .
|
Genera
ReferenceError — Non esiste una definizione pubblica con il nome specificato.
|
Esempio ( Come utilizzare questo esempio )
GetDefinitionByNameExample
per creare un quadrato arancione sullo stage. Questa operazione viene eseguita mediante la procedura seguente:
- Vengono dichiarate le variabili per il colore arancione dello sfondo e la dimensione di 80 pixel che in seguito verranno utilizzate per disegnare il quadrato.
- All'interno della funzione di costruzione, una variabile
ClassReference
di tipo Class viene assegnata a Sprite. - Viene creata un'istanza ClassReference denominata
instance
. - Poiché
instance
è, in base al riferimento, un oggetto Sprite, il quadrato può essere disegnato e aggiunto all'elenco di visualizzazione utilizzando i metodi disponibili per 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 | () | funzione |
public function getQualifiedClassName(value:*):String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce il nome completo della classe di un oggetto.
Parametri
value:* — L'oggetto per il quale si desidera un nome di classe completo. Qualunque valore ActionScript può essere passato a questo metodo, compresi tutti i tipi ActionScript disponibili, le istanze di oggetto, i tipi di base come uint e gli oggetti classe.
|
String — Una stringa contenente il nome di classe completo.
|
Elementi API correlati
getQualifiedSuperclassName | () | funzione |
public function getQualifiedSuperclassName(value:*):String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce il nome di classe completo della classe base dell'oggetto specificato dal parametro value
. Questa funzione consente di recuperare più rapidamente il nome della classe base rispetto a describeType()
, ma non restituisce tutte le informazioni fornite da describeType()
.
Dopo aver recuperato il nome di una classe con questa funzione, è possibile convertirlo in un riferimento di classe con la funzione getDefinitionByName()
.
Nota: questa funzione è limitata alle gerarchie di istanza, mentre la funzione describeType()
utilizza le gerarchie di oggetto classe se il parametro value
è un tipo di dati. Una chiamata a describeType()
su un tipo di dati restituisce la superclasse in base alla gerarchia di oggetto classe, nella quale tutti gli oggetti ereditano da Class. La funzione getQualifiedSuperclassName()
, tuttavia, ignora la gerarchia di oggetti classe e restituisce la superclasse in base alla gerarchia di istanza, più familiare. Ad esempio, una chiamata a getQualifiedSuperclassName(String)
restituisce Object
anche se tecnicamente l'oggetto classe String eredita da Class. In altre parole, i risultati sono uguali indipendentemente dal fatto che venga utilizzata un'istanza di un tipo oppure il tipo stesso.
Parametri
value:* — Qualsiasi valore.
|
String — Un nome di classe base completo, oppure null se non esiste.
|
Elementi API correlati
getTimer | () | funzione |
public function getTimer():int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Utilizzata per calcolare il tempo relativo. Per un runtime Flash che elabora ActionScript 3.0, questo metodo restituisce il numero di millisecondi trascorsi dall'avvio della macchina virtuale del runtime Flash per ActionScript 3.0 (AVM2). Per un runtime Flash che elabora ActionScript 2.0, questo metodo restituisce il numero di millisecondi trascorsi dall'inizio dell'inizializzazione del runtime Flash. I runtime Flash utilizzano due macchine virtuali per l'elaborazione di ActionScript. AVM1 è la macchina virtuale ActionScript utilizzata per eseguire codice 1.0 and 2.0. AVM2 è quella utilizzata per eseguire codice ActionScript 3.0. Il comportamento del metodo getTimer()
per AVM1 è diverso dal comportamento per AVM2.
Per una data di calendario (indicatore orario), vedete l'oggetto Date.
Restituisceint — Il numero di millisecondi a partire dall'inizializzazione del runtime (durante l'elaborazione di ActionScript 2.0) o dall'avvio della macchina virtuale (durante l'elaborazione di ActionScript 3.0). Se il runtime inizia a riprodurre un file SWF e un secondo file SWF viene caricato successivamente, il valore restituito è relativo al caricamento del primo file SWF.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
GetTimerExample
per ottenere e stampare il numero di millisecondi trascorsi dall'inizializzazione del runtime.
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 | () | funzione |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Esegue una funzione a un intervallo specificato (in millisecondi).
Anziché utilizzare il metodo setInterval()
, valutate come alternativa la creazione di un oggetto Timer, con l'intervallo specificato, utilizzando 0 come parametro repeatCount
(che imposta la ripetizione indefinita del timer).
Se intendete utilizzare il metodo clearInterval()
per annullare la chiamata a setInterval()
, assicuratevi di assegnare la chiamata a setInterval()
a una variabile (alla quale il metodo clearInterval()
farà riferimento successivamente). Se non chiamate la funzione clearInterval()
per annullare la chiamata a setInterval()
, l'oggetto che contiene la funzione di chiusura di impostazione del timeout non viene sottoposto al processo di garbage collection.
Parametri
closure:Function — Il nome della funzione da eseguire. Non includete virgolette o parentesi e non specificate parametri della funzione da chiamare. Ad esempio, utilizzate functionName ma non functionName() o functionName(param) .
| |
delay:Number — L'intervallo, in millisecondi.
| |
... arguments — Un elenco opzionale di argomenti che vengono passati alla funzione di chiusura.
|
uint — Identificatore numerico univoco per il processo associato al timer. Utilizzate questo identificatore per annullare il processo, chiamando il metodo clearInterval() .
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
setInterval()
per creare un intervallo di timer, chiamando il metodo myRepeatingFunction()
dopo intervalli regolari di un secondo.
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 | () | funzione |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Esegue una funzione specifica dopo un ritardo prestabilito (in millisecondi).
Anziché utilizzare questo metodo, valutare come alternativa la creazione di un oggetto Timer, con l'intervallo specificato, utilizzando 1 come parametro repeatCount
(che imposta un'unica esecuzione del timer).
Se intendete utilizzare il metodo clearTimeout()
per annullare la chiamata a setTimeout()
, assicuratevi di assegnare la chiamata a setTimeout()
a una variabile (alla quale il metodo clearTimeout()
farà riferimento successivamente). Se non chiamate la funzione clearTimeout()
per annullare la chiamata a setTimeout()
, l'oggetto che contiene la funzione di chiusura del timeout impostato non viene sottoposto al processo di garbage collection.
Parametri
closure:Function — Il nome della funzione da eseguire. Non includete virgolette o parentesi e non specificate parametri della funzione da chiamare. Ad esempio, utilizzate functionName ma non functionName() o functionName(param) .
| |
delay:Number — Il ritardo, in millisecondi, prima dell'esecuzione della funzione.
| |
... arguments — Un elenco opzionale di argomenti che vengono passati alla funzione di chiusura.
|
uint — Identificatore numerico univoco per il processo associato al timer. Utilizzate questo identificatore per annullare il processo, chiamando il metodo clearTimeout() .
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
setTimeout()
per chiamare un altro metodo dopo un periodo di ritardo specificato.
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 | () | funzione |
public function unescapeMultiByte(value:String):String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce una copia senza caratteri di escape della stringa di input, decodificata dalla tabella codici di sistema o da UTF-8 a seconda del valore di System.useCodePage. L'uso di System.useCodePage consente di rendere accessibile al runtime contenuti preesistenti codificati nella tabella codici locale, ma solo sui sistemi che utilizzano la stessa tabella codici di origine. Ad esempio, dati giapponesi codificati in Shift-JIS
vengono elaborati correttamente con e senza caratteri di escape su un sistema operativo che utilizza una tabella codici predefinita.
Parametri
value:String — La stringa con caratteri di escape da convertire in stringa senza caratteri di escape.
|
String — Una copia senza caratteri di escape della stringa di input. Se System.useCodePage è true , la stringa di escape viene decodificata dalla tabella codici di sistema. Se è false , la stringa di escape viene decodificata da UTF-8. Se, ad esempio, la stringa di input è "Crüe" e System.useCodePage è false , il risultato sarà "Crüe" su tutti i sistemi. Se System.useCodePage è true , la stringa di input è "Cr%FCe" e il sistema utilizza una tabella codici Latin, il risultato sarà ancora "Crüe". Con System.useCodePage impostato su true , la conversione di "Cr%C3%BCe" in stringa senza caratteri di escape produrrà risultati indesiderati differenti su sistemi diversi, ad esempio "Crüe" su un sistema Latin. Analogamente, con System.useCodePage impostato su false , la conversione di "Cr%FCe" in stringa senza caratteri di escape potrebbe produrre "Cre" o "Cr?e" (o altre varianti) a seconda della tabella codici del sistema.
|
Tue Jun 12 2018, 03:02 PM Z