flash.utils パッケージには、コード実行のタイミング調整、クラスおよびオブジェクトに関する情報の取得、およびエスケープ文字の変換を行うためのパッケージレベルの様々な関数が含まれます。
関数 | 定義元 | ||
---|---|---|---|
指定した setInterval() 呼び出しをキャンセルします。 | flash.utils | ||
指定した setTimeout() 呼び出しをキャンセルします。 | flash.utils | ||
メソッドのパラメーターとして指定された ActionScript オブジェクトを記述する XML オブジェクトを作成します。 | flash.utils | ||
System.useCodePage の値に従って、UTF-8 またはシステムコードページのいずれかにエンコードされた入力ストリングをエスケープしたコピーを返します。 | flash.utils | ||
name パラメーターで指定したクラスのクラスオブジェクトへの参照を返します。 | flash.utils | ||
オブジェクトの完全修飾クラス名を返します。 | flash.utils | ||
value パラメーターで指定したオブジェクトの基本クラスの完全修飾クラス名を返します。 | flash.utils | ||
相対時間の計算に使用します。 | flash.utils | ||
ミリ秒単位で指定した間隔ごとに関数を実行します。 | flash.utils | ||
ミリ秒単位で指定した遅延時間の経過後に、指定した関数を実行します。 | flash.utils | ||
System.useCodePage の値に従って、UTF-8 またはシステムコードページのいずれかからデコードされた入力ストリングをアンエスケープしたコピーを返します。 | flash.utils |
clearInterval | () | 関数 |
public function clearInterval(id:uint):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
指定した setInterval()
呼び出しをキャンセルします。
パラメーター
id:uint — setInterval() 呼び出しの ID です。次のように変数を設定します。
|
関連する API エレメント
例 ( この例の使用方法 )
setInterval()
メソッドを使用して、時間制限を設けた間隔を作成し、通常の間隔である 1 秒後に myRepeatingFunction()
メソッドを呼び出します。
myRepeatingFunction
メソッドの各呼び出しによって、counter
プロパティがインクリメントされ、stopCount
プロパティと等しくなったときにプロパティ intervalId
によって clearInterval()
メソッドが呼び出されます。これは、先に作成された間隔のリファレンス ID です。
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 | () | 関数 |
public function clearTimeout(id:uint):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
指定した setTimeout()
呼び出しをキャンセルします。
パラメーター
id:uint — setTimeout() 呼び出しの ID です。次のように変数を設定します。
|
関連する API エレメント
例 ( この例の使用方法 )
setTimeout()
メソッドを使用して、指定した遅延時間後に別のメソッドを呼び出します。
ループが作成され、100 万までカウントされます。このリクエストを 1 秒未満で処理可能なシステムで所定の時間が経過すると、clearTimeout()
によって setTimeout()
リクエストが削除され、myDelayedFunction()
は呼び出されません。
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 | () | 関数 |
public function describeType(value:*):XML
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
メソッドのパラメーターとして指定された ActionScript オブジェクトを記述する XML オブジェクトを作成します。このメソッドは、ActionScript 言語に対してリフレクションのプログラミング概念を実装します。
value
パラメーターが特定の型のインスタンスである場合、返される XML オブジェクトにはその型のすべてのインスタンスプロパティが含まれますが、静的プロパティは含まれません。この状態は、XML オブジェクトの解析時に <type>
タグの isStatic
属性の値を調べることによって確認できます。value
パラメーターが特定の型のインスタンスである場合、この属性は false
になります。
特定の型の静的プロパティを取得するには、型自体を value
パラメーターに渡します。返される XML オブジェクトには、そのタイプの静的プロパティのみでなく、すべてのインスタンスプロパティも含まれています。インスタンスプロパティは、<factory>
というタグ内にネストされ、静的プロパティと区別されます。この場合、<type>
タグの isStatic
属性は true
です。
注意:オブジェクトの継承階層間の移動のみが必要で、describeType()
によって提供されるその他の情報は不要な場合には、代わりに、getQualifiedClassName()
関数および getQualifiedSuperclassName()
関数を使用します。
次の表は、describeType()
によって生成される XML オブジェクトのタグおよび属性のいくつかについて説明したものです(返されるすべてのクラス名およびインターフェイス名は完全修飾名です)。
タグ | 属性 | 説明 |
---|---|---|
<type> | XML オブジェクトのルートタグです。 | |
name | ActionScript オブジェクトのデータ型の名前です。 | |
base | ActionScript オブジェクトを定義しているクラスのすぐ上のスーパークラスです。ActionScript オブジェクトがクラスオブジェクトの場合、値は Class になります。 | |
isDynamic | ActionScript オブジェクトを定義しているクラスが dynamic の場合は true 、それ以外の場合は false になります。ActionScript オブジェクトがクラスオブジェクトの場合、Class クラスは dynamic なので、値は true になります。 | |
isFinal | ActionScript オブジェクトを定義しているクラスが final の場合は true 、それ以外の場合は false になります。 | |
isStatic | ActionScript オブジェクトがクラスオブジェクトまたはコンストラクター関数の場合は true 、それ以外の場合は false になります。この属性が true の場合には factory タグ内にネストされていないすべてのタグが静的になるため、この属性には isStatic という名前が付けられています。 | |
<extendsClass> | ActionScript オブジェクトを定義しているクラスの各スーパークラスには、個別に extendsClass というタグがあります。 | |
type | ActionScript オブジェクトを定義しているクラスが拡張しているスーパークラスの名前です。 | |
<implementsInterface> | ActionScript オブジェクトを定義しているクラスまたはそのいずれかのスーパークラスによって実装されている各インターフェイスには、個別に implementsInterface というタグがあります。 | |
type | ActionScript オブジェクトを定義しているクラスが実装しているインターフェイスの名前です。 | |
<accessor> | アクセッサーは、getter 関数と setter 関数によって定義されたプロパティです。 | |
name | アクセッサーの名前です。 | |
access | プロパティのアクセス権です。有効な値には、readonly 、writeonly 、readwrite などがあります。 | |
type | プロパティのデータ型です。 | |
declaredBy | 関連する getter 関数または setter 関数が含まれるクラスです。 | |
<constant> | 定数は、const ステートメントで定義されたプロパティです。 | |
name | 定数の名前です。 | |
type | 定数のデータ型です。 | |
<method> | メソッドは、クラス定義の一部として宣言された関数です。 | |
name | メソッドの名前です。 | |
declaredBy | メソッドの定義が含まれるクラスです。 | |
returnType | メソッドの戻り値のデータ型です。 | |
<parameter> | メソッドによって定義されるパラメーターごとに別個の parameter タグが使用されます。このタグは、常に <method> タグ内にネストされます。 | |
index | メソッドのパラメーターリストにパラメーターが表示される順序に対応する番号です。最初のパラメーターの値は 1 です。 | |
type | パラメーターのデータ型です。 | |
optional | パラメーターがオプションの場合には true 、それ以外の場合は false になります。 | |
<variable> | 変数は、var ステートメントで定義されたプロパティです。 | |
name | 変数の名前です。 | |
type | 変数のデータ型です。 | |
<factory> | ActionScript オブジェクトがクラスオブジェクトまたはコンストラクター関数の場合、インスタンスのすべてのプロパティおよびメソッドは、このタグ内にネストされます。<type> タグの isStatic 属性が true の場合、<factory> タグ内にネストされていないすべてのプロパティおよびメソッドは静的です。このタグは、ActionScript オブジェクトがクラスオブジェクトまたはコンストラクター関数の場合にのみ含まれます。 |
パラメーター
value:* — 型の記述が必要なオブジェクトです。このメソッドには、使用可能なすべての ActionScript 型、オブジェクトインスタンス、ユニットやクラスオブジェクトなどのプリミティブ型を含む任意の ActionScript 値を渡すことができます。
|
XML — パラメーターとして渡されたオブジェクトの詳細が含まれる XML オブジェクトです。オブジェクトに関する次の情報が記述されています。
注意: |
関連する API エレメント
例 ( この例の使用方法 )
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 | () | 関数 |
public function escapeMultiByte(value:String):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
System.useCodePage の値に従って、UTF-8 またはシステムコードページのいずれかにエンコードされた入力ストリングをエスケープしたコピーを返します。System.useCodePage を使用すると、ローカルコードページでエンコードされた古いコンテンツにランタイムでアクセスできます。ただし、古いコードページを使用しているシステムでしかアクセスできません。例えば、Shift-JIS
としてエンコードされた日本語データは、日本語のデフォルトコードページを使用した OS でしか正しくエスケープおよびアンエスケープできません。
パラメーター
value:String — エスケープするストリングです。
|
String — 入力ストリングをエスケープしたコピーです。System.useCodePage が true の場合、エスケープしたストリングはシステムコードページでエンコードされます。System.useCodePage が false の場合、エスケープしたストリングは UTF-8 でエンコードされます。例えば、System.useCodePage が false の場合、入力ストリングの「Crüe」はどのシステムでも「Cr%C3%BCe」としてエスケープされます。system.useCodePage が true で、ラテン語のコードページが使用されている場合、"Crüe" は "Cr%FCe" としてエスケープされます。'ü' 文字が含まれていないラテン語以外のコードページが使用されていると、"Cr?e" という結果になる場合があります。System.useCodePage を true にして "Cr%C3%BCe" をアンエスケープすると、ラテン語のシステムで "Crüe" が発生するなど、さまざまなシステムでさまざまな不適切な結果が発生します。同様に、System.useCodePage を false にして "Cr%FCe" をアンエスケープすると、システムのコードページによって、"Cre" や"Cr?e" などのさまざまな結果が発生する可能性があります。
|
getDefinitionByName | () | 関数 |
public function getDefinitionByName(name:String):Object
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
name
パラメーターで指定したクラスのクラスオブジェクトへの参照を返します。
パラメーター
name:String — クラス名です。
|
Object — name パラメーターで指定したクラスのクラスオブジェクトへの参照を返します。
|
例外
ReferenceError — 指定された名前の公開定義は存在しません。
|
例 ( この例の使用方法 )
GetDefinitionByNameExample
を使用してステージ上にオレンジ色の四角形を作成します。ここでは以下の手順を実行します。
- オレンジ色の背景色と 80 ピクセルのサイズの変数を宣言します。これらは後で四角形の描画に使用されます。
- コンストラクター内で、Class 型の
ClassReference
変数は Sprite に割り当てられます。 instance
という ClassReference のインスタンスがインスタンス化されます。- 参照によって
instance
が Sprite オブジェクトになるため、四角形は 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 | () | 関数 |
public function getQualifiedClassName(value:*):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
オブジェクトの完全修飾クラス名を返します。
パラメーター
value:* — 完全修飾クラス名が必要なオブジェクトです。このメソッドには、使用可能なすべての ActionScript 型、オブジェクトインスタンス、ユニットやクラスオブジェクトなどのプリミティブ型を含む任意の ActionScript 値を渡すことができます。
|
String — 完全修飾クラス名を含むストリングです。
|
関連する API エレメント
getQualifiedSuperclassName | () | 関数 |
public function getQualifiedSuperclassName(value:*):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
value
パラメーターで指定したオブジェクトの基本クラスの完全修飾クラス名を返します。この関数では describeType()
よりも迅速に基本クラス名を取得できますが、describeType()
で提供されるすべての情報が提供されるわけではありません。
この関数を使用してクラス名を取得した後、getDefinitionByName()
関数を使用してクラス名をクラス参照に変換できます。
注意:この関数はインスタンス階層に制限されています。一方、describeType()
関数は、value
パラメーターがデータ型の場合には、クラスオブジェクト階層を使用します。データ型に対して describeType()
を呼び出すと、クラスオブジェクト階層に基づいてスーパークラスが返されます。スーパークラスでは、すべてのクラスオブジェクトが Class から継承されます。ただし、getQualifiedSuperclassName()
関数はクラスオブジェクト階層を無視し、より使い慣れたインスタンス階層に基づいてスーパークラスを返します。例えば、getQualifiedSuperclassName(String)
を呼び出すと、技術的には String クラスオブジェクトは Class から継承されますが、Object
が返されます。つまり、型のインスタンスと型自体のどちらを使用するかに関係なく、結果は同じです。
パラメーター
value:* — 任意の値です。
|
String — 完全修飾基本クラス名。存在しない場合は null が返されます。
|
関連する API エレメント
getTimer | () | 関数 |
public function getTimer():int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
相対時間の計算に使用します。ActionScript 3.0 を処理する Flash ランタイムの場合、このメソッドは ActionScript 3.0 用の Flash ランタイム仮想マシン(AVM2)が起動してから経過したミリ秒数を返します。ActionScript 2.0 を処理する Flash ランタイムの場合、このメソッドは、Flash ランタイムの初期化が開始されてからのミリ秒数を返します。Flash ランタイムは、2 つの仮想マシンを使用して ActionScript を処理します。AVM1 は、ActionScript 1.0 および 2.0 を実行するために使用される ActionScript 仮想マシンです。AVM2 は、ActionScript 3.0 を実行するために使用される ActionScript 仮想マシンです。getTimer()
メソッドの動作は、AVM1 と AVM2 で異なります。
カレンダー日付(タイムスタンプ)については、Date オブジェクトを参照してください。
戻り値int — ランタイムが初期化されてからのミリ秒数(ActionScript 2.0 を処理する場合)、または仮想マシンが起動してからのミリ秒数(ActionScript 3.0 を処理する場合)です。ランタイムで SWF ファイルの再生を開始し、後で別の SWF ファイルをロードした場合、戻り値は最初の SWF ファイルがロードされた時刻からの相対時間になります。
|
関連する API エレメント
例 ( この例の使用方法 )
GetTimerExample
を使用して、ランタイムを開始した時点からのミリ秒数を取得および出力します。
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 | () | 関数 |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
ミリ秒単位で指定した間隔ごとに関数を実行します。
setInterval()
メソッドを使用する代わりに、repeatCount
パラメーターを 0(タイマーを無限に繰り返す設定)にして、指定した間隔で Timer オブジェクトを作成することを検討してください。
clearInterval()
メソッドを使用して setInterval()
呼び出しをキャンセルする場合は、setInterval()
呼び出しを変数(後で clearInterval()
関数で参照する)に割り当てます。clearInterval()
関数を呼び出して setInterval()
呼び出しをキャンセルしない場合は、タイムアウトクロージャ設定関数はガベージコレクションされません。
パラメーター
closure:Function — 実行する関数の名前です。引用符や括弧を使用しないでください。また、呼び出す関数にパラメーターを指定しないでください。例えば、functionName を使用して、functionName() や functionName(param) は使用しないでください。
| |
delay:Number — ミリ秒単位の間隔です。
| |
... arguments — closure 関数に渡す引数のオプションのリストです。
|
uint — 時間設定されたプロセスに対する一意の数値識別子です。プロセスをキャンセルするには、この識別子を使用して clearInterval() メソッドを呼び出します。
|
関連する API エレメント
例 ( この例の使用方法 )
setInterval()
メソッドを使用して、時間制限を設けた間隔を作成し、通常の間隔である 1 秒後に myRepeatingFunction()
メソッドを呼び出します。
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 | () | 関数 |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
ミリ秒単位で指定した遅延時間の経過後に、指定した関数を実行します。
このメソッドを使用する代わりに、repeatCount
パラメーターを 1(タイマーを 1 回のみ実行する設定)にして、指定した間隔で Timer オブジェクトを作成することを検討してください。
clearTimeout()
メソッドを使用して setTimeout()
呼び出しをキャンセルする場合は、setTimeout()
呼び出しを変数(後で clearTimeout()
関数で参照する)に割り当てます。clearTimeout()
関数を呼び出して setTimeout()
呼び出しをキャンセルしない場合は、タイムアウトクロージャ設定関数はガベージコレクションされません。
パラメーター
closure:Function — 実行する関数の名前です。引用符や括弧を使用しないでください。また、呼び出す関数にパラメーターを指定しないでください。例えば、functionName を使用して、functionName() や functionName(param) は使用しないでください。
| |
delay:Number — 関数が実行されるまでの遅延時間(ミリ秒単位)です。
| |
... arguments — closure 関数に渡す引数のオプションのリストです。
|
uint — 時間設定されたプロセスに対する一意の数値識別子です。プロセスをキャンセルするには、この識別子を使用して clearTimeout() メソッドを呼び出します。
|
関連する API エレメント
例 ( この例の使用方法 )
setTimeout()
メソッドを使用して、指定した遅延時間後に別のメソッドを呼び出します。
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 | () | 関数 |
public function unescapeMultiByte(value:String):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
System.useCodePage の値に従って、UTF-8 またはシステムコードページのいずれかからデコードされた入力ストリングをアンエスケープしたコピーを返します。System.useCodePage を使用すると、ローカルコードページでエンコードされた古いコンテンツにランタイムでアクセスできます。ただし、古いコードページを使用しているシステムでしかアクセスできません。例えば、Shift-JIS
としてエンコードされた日本語データは、日本語のデフォルトコードページを使用した OS でしか正しくエスケープおよびアンエスケープできません。
パラメーター
value:String — アンエスケープする、エスケープされたストリングです。
|
String — 入力ストリングをアンエスケープしたコピーです。System.useCodePage が true の場合、エスケープしたストリングはシステムコードページからデコードされます。System.useCodePage が false の場合、エスケープしたストリングは UTF-8 からデコードされます。例えば、入力文字列が "Crüe" で System.useCodePage が false の場合、すべてのシステムで "Crüe" になります。System.useCodePage が true で入力ストリングが "Cr%FCe" でラテン語のコードページが使用されている場合も、"Crüe" になります。System.useCodePage が true に設定されている場合に "Cr%C3%BCe" をアンエスケープすると、ラテン語システムで "Crüe" など、様々なシステムで様々な予想外の結果が発生します。同様に、System.useCodePage を false にして "Cr%FCe" をアンエスケープすると、システムのコードページによって、"Cre" や"Cr?e" などのさまざまな結果が発生する可能性があります。
|
Tue Jun 12 2018, 10:51 AM Z