// 配列エレメントの一覧を見る。シンタックス 2 : 各エレメントに直接アクセスするには、エレメントのインデックスを [] (角カッコ) で囲みます。また、配列に新しいエレメントを追加したり、既存のエレメントの値を変更または取得することもできます。次の例に示すように、配列の最初のインデックスは常に 0 です。次の例のように角カッコ ([]) を使用して 4 番目のエレメントを追加できます。角カッコ ([]) を使用して多次元配列のエレメントにアクセスできます。最初の [] (角カッコ) のセットは元の配列のエレメントを示します。2 番目のセットはネストされた配列のエレメントを示します。次のコード行は、数値 6 を [出力] パネルに表示します。シンタックス 3 : eval() 関数の代わりに配列アクセス演算子 ([]) を使用して、ムービークリップ名の値またはオブジェクトのプロパティを動的に設定および取得できます。次のコード行は、数値 6 を [出力] パネルに表示します。
aN 配列のエレメント
ネストされた配列を含む、すべてのネイティブタイプまたはオブジェクトインスタンスです。
シンタックス 1 : 配列への参照
シンタックス 2 : 配列に格納されたいずれかの値
ネイティブタイプまたはオブジェクトインスタンス (Array インスタンスを含む)
シンタックス 3 : オブジェクトのいずれかのプロパティ
ネイティブタイプまたはオブジェクトインスタンス (Array インスタンスを含む)
次の例では、新しい空の Array オブジェクトを作成する 2 つの方法を示しています。最初の行で角カッコ ([]) を使用しています。4 行目で配列内のエレメントを変更し、5 行目では変更後の新しい配列を [出力] パネルに表示しています。この例では、変数 i はボタンと同じタイムライン上にある必要があります。次のコードでは、[] (角カッコ) 内の式を評価し、その結果をムービークリップ name_mc から取得する変数名として使用します。デバッグ時に効果的な方法です。代入ステートメントの左側で配列アクセス ([]) 演算子を使用して、インスタンス、変数、およびオブジェクト名を動的に設定することもできます。値による代入と、参照による代入があります。値による代入を使用した場合、変数には数値またはストリングのリテラルが代入されます。一般に、参照による代入は、new 演算子と組み合わせて使用されます。new 演算子を使用した場合、メモリ内にオブジェクトが作成され、そのオブジェクトが格納されたメモリ位置への参照が変数に代入されます。Flash 5 以降のオーサリング環境に読み込まれる Flash 4 ファイルは、データ型の整合性を維持するために変換されます。次の例では、値による代入を使用して、値 5 を変数 x に代入しています。この変数には、新たに作成された Array オブジェクトへの参照が格納されます。次の例では、参照による代入を使用して新しいオブジェクトを作成し、変数 mercury にこのオブジェクトへの参照を格納しています。次の例は、上記の例の続きです。これにより、メモリ内の同じオブジェクトを参照する 2 つの変数が作成されました。同じオブジェクトを参照しているので、どちらの変数を使用しても、このオブジェクトのプロパティにアクセスできます。次に、マイルの代わりにキロメートルを使用するように、diameter プロパティを変更することもできます。1 の補数演算子またはビット単位の補数演算子とも呼ばれます。つまり、0 を保持するすべてのビットは 1 に設定され、1 を保持するすべてのビットは 0 に設定されます。結果は、符号付き 32 ビット整数です。
ビット単位演算子は、フラグビットを表現する場合に最もよく使用されます (ブール値をそれぞれ 1 ビットにパックすることができます)
浮動小数点数は、小数点以下が切り捨てられて整数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。最小値よりも小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。次に、フラグビットでビット単位の否定 (NOT) (-) 演算子を使用する例を示します。たとえば、次の 2 つのステートメントは同じです。次にビット単位の排他的論理和 (OR) 代入 (|=) 演算子の使用例を示します。たとえば、次の 2 つのステートメントは同じです。
/* コメントブロック区切り記号演算子
スクリプトコメントのブロックを示します。単一行のコメントブロックを指定するには、// (コメント行区切り記号) を使用します。連続した複数行のコメントブロックを指定するには、/* (コメントブロック区切り記号) を使用します。この形式のコメントブロック区切り記号を使用する際に閉じるタグ (*/) を省略すると、エラーメッセージが返されます。コメントをネストしようとすると、エラーメッセージが返されます。コメントの終わりは、開始コメントタグ (/*) の後、最初に出現する終了コメントタグ (*/) によって示されます。開始コメントタグ (/*) がその間にいくつ指定されていても結果は同じです。次のスクリプトでは、スクリプトの先頭にコメント区切り記号を使用します。次のように、コメントをネストしようとすると、エラーメッセージが表示されます。
// コメント行区切り記号演算子
通常、この演算子は for ループステートメントで使用します。カッコ () 演算子と組み合わせて使用することもあります。次の例では、カッコ () 演算子なしでカンマ (,) 演算子を使用しています。カッコ () 演算子がない場合、カンマ演算子は最初の式の値だけを返していることがわかります。次の例では、カッコ () 演算子と組み合わせてカンマ (,) 演算子を使用しています。カッコ () 演算子と組み合わせた場合、カンマ演算子は最後の式の値を返していることがわかります。次の例では、カッコ () 演算子なしでカンマ (,) 演算子を使用しています。カンマ演算子はすべての式を順番に評価した上で最初の式の値を返していることがわかります。次の例は、カッコ () 演算子が使われている以外は、前の例と同じです。カッコ () 演算子と組み合わせた場合、カンマ (,) 演算子は一連の式の最後の式の値を返していることがわかります。expression から 1 を引くプリデクリメント単項演算子またはポストデクリメント単項演算子です。次の例は、10 から 1 までループし、各ループでカウンタ変数 i を 1 ずつ減らしています。等価 (==) 演算子の正反対が真であるかどうかをテストします。厳密な等価 (==) 演算子と同様、等価の定義は比較対象のデータ型によって異なります。次にその例を示します。数値、ストリング、およびブール値は、値により比較されます。オブジェクト、配列、および関数は、参照で比較されます。変数はその型に応じて、値または参照で比較されます。値による比較は、2 つの式が同じ値を持つという、ごく一般的な視点から見た等価のことです。参照による比較の場合、2 つの式が等価と見なされるのは、両者が同じオブジェクト、配列、または関数を参照しているときだけです。オブジェクト、配列、または関数によって保持された値は比較の対象になりません。
次の例では、不等価 (=) 演算子の結果を示します。次の例では、if ステートメントでの不等価 (=) 演算子の使い方を示します。次の例では、2 つの関数の参照による比較を示します。次の例では、2 つの配列の参照による比較を示します。
この演算子の代わりに
(論理否定) 演算子を使用します。) 演算を行います。たとえば、次の 2 つの式は同じです。式を数値に変換できない場合は、NaN (非数) を返します。2 つの式が等しいかどうかをテストします。厳密な等価 (===) 演算子は、データ型が変換されない点を除いては、等価 (==) 演算子と同じです。両方の式が、そのデータ型も含めて等しい場合、結果は true です。"等価" の定義は、パラメータのデータ型により異なります。数値とブール値は値により比較され、それらの値が同じであれば、等しいと見なされます。ストリング式は、文字数が同じで、同じ文字で構成されている場合に、等しいと見なされます。オブジェクト、配列、および関数を表す変数は、参照により比較されます。2 つの変数が同じオブジェクト、配列、または関数を参照する場合、それらの変数は等価です。2 つの別個の配列は、エレメント数が同じである場合でも、等しいとは見なされません。次のコードのコメントは、等価演算子および厳密な等価演算子を使用した演算の戻り値を示しています。次の例では、厳密な等価で比較する場合に、参照を格納する変数とリテラル値を格納する変数の扱いがどのように違うかを示しています。この結果を見ると、String クラスでは new 演算子の使用を避け、ストリングリテラルを使用する理由が明らかになります。// ストリングリテラル値を使用したストリング変数を作成する。// 参照となる変数を作成する。
// 等価演算子はリテラル、変数、参照を
== 厳密な不等価演算子
厳密な等価 (===) 演算子の正反対が真であるかどうかをテストします。厳密な不等価演算子の動作は、データ型が変換されない点を除いて、不等価演算子と同じです。厳密な等価 (===) 演算子と同様、等価の定義は比較対象のデータ型によって異なります。次にその例を示します。数値、ストリング、およびブール値は、値により比較されます。オブジェクト、配列、および関数は、参照で比較されます。変数はその型に応じて、値または参照で比較されます。==) を使用した演算の戻り値を示しています。ループの終わりまで制御が通過したかのように、最も内側のループ内の残りのステートメントをすべてスキップして、ループの次の反復を開始します。ループの外部では作用しません。そこで、条件が再度評価されます。in ループで continue を使用すると、Flash インタプリタはループ本体の残りの部分をスキップし、ループの上端にジャンプし、そこに列挙されている次の値が処理されます。条件を評価し、最初の if ステートメントの条件から false を返された場合に実行するステートメントを指定します。else if 条件が false である場合は、中カッコ内のステートメントをスキップし、中カッコの後のステートメントを実行します。スクリプト内に分岐処理を作成するには elseif ステートメントを使用します。分岐が複数ある場合は、switch ステートメントの使用を検討してください。オブジェクトのプロパティまたは配列のエレメントに対して反復処理を行うもので、各プロパティまたはエレメントに対して statement を実行します。in アクションでは、オブジェクトのメソッドは列挙されません。in アクションで列挙できないものがあります。たとえば、_x や _y のようなムービークリッププロパティは列挙されません。外部クラスファイルでは、インスタンスメンバーとは異なり、静的メンバーは列挙されません。in ステートメントは、反復処理されるオブジェクトのプロトタイプチェーン内のオブジェクトのプロパティに対して反復します。オブジェクトのプロパティが最初に列挙され、次にそのプロトタイプのプロパティが列挙され、さらにそのプロトタイプのプロトタイプのプロパティが列挙されます。以下同様です。in ステートメントは、同じプロパティ名を繰り返して列挙しません。in ステートメントによって実行するステートメントブロックを囲む中カッコ ({}) は、実行するステートメントが 1 つしかない場合は必要ありません。in ループをクラスファイル (外部 AS ファイル) 内に記述した場合、インスタンスメンバーをループで使用することはできませんが、静的メンバーはループで使用できます。in ループを記述した場合、インスタンスメンバーは使用できますが、静的メンバーは使用できません。in を使用したオブジェクトのプロパティに対する繰り返し処理を示します。in を使用した配列のエレメントに対する繰り返し処理を示します。in で typeof 演算子を使用して特定のタイプの子に対して反復処理を行います。メモ : ムービークリップが複数ある場合、その出力はそれらのクリップのインスタンス名で構成されます。次の例では、ムービークリップの子を列挙し、それぞれを対応するタイムラインのフレーム 2 に進めます。
配列内のエレメント数を示す負でない整数
このプロパティは、新しいエレメントが配列に追加されると自動更新されます。メモ : length プロパティに既存の長さよりも短い値を代入した場合、配列は切り詰められます。次のコードでは、length プロパティがどのように更新されるかを示します。length プロパティに既存の長さよりも短い値を代入した場合、配列は切り詰められます。たとえば、モバイルデバイスの画面はコンピュータの画面とは異なります。
できるだけ多くのユーザーに適切なコンテンツを提供するため、System
capabilities オブジェクトを使用して、各ユーザーが使用しているデバイスのタイプを確認できます。デバイスの機能に応じて異なる SWF ファイルを送るようにサーバーに指示したり、デバイスの機能に応じて表示形式を変更するように SWF ファイルに指示したりできます。次の例は、モバイルデバイスが以下の状態であることを示すストリングです。標準の画面の向きが指定されている。判別できない言語を実行している。ユーザーがハードディスク、カメラ、マイクにアクセスできないように設定されている。デバイスでの印刷をサポートしていない。Flash Lite プレーヤーが埋め込みビデオをサポートするモバイルデバイスで実行されている。モバイルデバイスでサポートされているオーディオコーデックの MIME タイプの配列を返します。ユーザーのカメラとマイクへのアクセスが管理上禁止されているか (true) 許可されているか (false) を示すブール値です。システムにオーディオ機能があるかどうかを示します。モバイルデバイスが CMIDI オーディオ形式のサウンドデータを再生できる場合は true を返します。Flash Lite プレーヤーが特定の関数の呼び出しによって追加データを動的にロードできる場合は true を返します。プレーヤーが実行されているモバイルデバイスが埋め込みビデオをサポートしている場合は true、サポートしていない場合は false になるブール値です。モバイルデバイスでソフトキーのラベルをリセットまたは再割り当てし、変更したソフトキーからイベントを処理できる場合は true を返します。モバイルデバイスが MFI オーディオ形式のサウンドデータを再生できる場合は true を返します。モバイルデバイスが MIDI オーディオ形式のサウンドデータを再生できる場合は true を返します。モバイルデバイスがマウス関連のイベントを Flash Lite プレーヤーに送信できるかどうかを示します。モバイルデバイスに MP3 デコーダがあるかどうかを示します。プレーヤーが実行されているモバイルデバイスが印刷をサポートしている場合は true、サポートしていない場合は false になるブール値です。Flash Media Server を通じて実行されるスクリーンブロードキャストアプリケーションの開発をプレーヤーがサポートしている場合は true になるブール値です。サポートしていない場合は false になります。Flash Media Server を通じて実行されるスクリーンブロードキャストアプリケーションの再生をプレーヤーがサポートしている場合は true になるブール値です。サポートしていない場合は false になります。モバイルデバイスが SMAF オーディオ形式のサウンドデータを再生できる場合は true を返します。プレーヤーがストリーミングオーディオを再生できる場合は true、再生できない場合は false になるブール値です。プレーヤーがストリーミングビデオを再生できる場合は true、再生できない場合は false になるブール値です。モバイルデバイスがスタイラス関連のイベントをサポートしているかどうかを示します。loadMovie 関数およびモバイルデバイスのコーデックがイメージを処理するためにサポートしているすべての MIME タイプを含む配列を返します。ユーザーのハードディスクへの読み取りアクセスが管理上禁止されているか (true)、許可されているか (false) を示すブール値です。現在のオペレーティングシステムを示すストリングです。画面の最大水平解像度を示す整数です。画面の最大垂直解像度を示す整数です。モバイルデバイスがサポートしている再マップ可能なソフトキーの数を示します。モバイルデバイスのコーデックがサポートしているビデオのすべての MIME タイプを示します。最後に押されたか離されたキーの ASCII コードを返します。ASCII の戻り値は英語のキーボード値です。このメソッドは、押されたり、離されたりしたキーがなかった場合、またはセキュリティ上の理由で ASCII 値にアクセスできない場合は、0 を返します。この例を使用する場合、テスト環境では [制御]-[キーボードショートカットを無効] を選択してください。最後に押されたキーのキーコード値を返します。メモ : このメソッドの Flash Lite 版は、プラットフォームによって渡されるキーコードに応じて、ストリングまたは数字を返します。有効なキーコードは、このクラスが受け付ける標準キーコードと ExtendedKey クラスのプロパティとしてリストアップされている特殊キーのコードだけです。このメソッドは、押されたり、離されたりしたキーがなかった場合、またはセキュリティ上の理由でキーコードにアクセスできない場合は、0 を返します。この例を使用する場合、テスト環境では [制御]-[キーボードショートカットを無効] を選択してください。Math クラスはトップレベルのクラスで、コンストラクタを実行しなくても、そのメソッドやプロパティを使用できます。数学定数および関数にアクセスして処理するには、このクラスのメソッドとプロパティを使用します。constant というシンタックスを使用して呼び出す必要があります。Math クラスのいくつかのメソッドは、ラジアン単位の角度をパラメータとして使用します。メソッドを呼び出す前に次の式を使用してラジアン値を計算し、計算した値をパラメータとして指定できます。また、式の右辺全体 (degrees には度数で角度を代入) をラジアンパラメータとして指定することもできます。ラジアン値を計算するには、次の式を使用します。次の例では、角度 45 度のサインを計算する式をパラメータとして渡します。自然対数の底を表す数学定数で e と表記されるものです。2 の自然対数を表す数学定数で loge2 と表記されるものです。円周と円の直径の比を表す数学定数でπと表記されるものです。1/2 の平方根を表す数学定数です。2 の平方根を表す数学定数です。パラメータ x で指定された数値の絶対値を計算して返します。パラメータ x で指定された数値のアークコサイン (逆余弦) を計算してラジアン単位で返します。パラメータ x で指定された数値のアークサイン (逆正弦) を計算してラジアン単位で返します。パラメータ tangent で指定された値がタンジェント (正接) の値になる角度を計算してラジアン単位で返します。円の x 軸 (0,0 は円の中心を示します) から反時計回りに測定した場合に、y/x 座標の角度をラジアン単位で計算して返します。指定された数値または式を切り上げた値を返します。ラジアン単位で指定された角度のコサイン (余弦) を計算して返します。自然対数の底 (e) を、パラメータ x で指定された指数で累乗した値を返します。パラメータ x で指定された数値または式を切り捨てた値を返します。パラメータ x の自然対数を返します。x と y を評価し、大きいほうの値を返します。x と y を評価し、小さいほうの値を返します。パラメータ x の値を最も近い整数に四捨五入し、値を返します。ラジアン単位で指定された角度のサイン (正弦) を計算して返します。指定された数値の平方根を計算して返します。指定された角度のタンジェント (正接) を計算して返します。パラメータ x で指定された数値のアークコサイン (逆余弦) を計算してラジアン単位で返します。パラメータ x のアークコサインです。次の例では、いくつかの値のアークコサインを表示します。パラメータ tangent で指定された値がタンジェント (正接) の値になる角度を計算してラジアン単位で返します。次の例では、いくつかのタンジェントの角度の値を表示します。ラジアン単位で指定された角度のコサイン (余弦) を計算して返します。ラジアンを計算するには、Math クラスの説明を参照してください。次の例では、いくつかの角度のコサインを表示します。1 を出力する。返される値は疑似乱数となります。放射性崩壊のような現実のランダムな自然現象で生成されるわけではないからです。