Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > シンタックスと言語の基礎 > ステートメントについて > ループを使用した繰り返しアクション > ループの作成と終了について | |||
次の例では、月名の簡単な配列を示します。for ループは 0 から配列のアイテム数まで繰り返し、[出力] パネルに各アイテムを表示します。
var monthArr:Array = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
var i:Number;
for (i = 0; i < monthArr.length; i++) {
trace(monthArr[i]);
}
配列を操作する場合は、配列が単純であるか複雑であるかとは無関係に、"無限ループ" と呼ばれる状態に注意する必要があります。無限ループは、名前が示すように、際限なく続くループ状態です。無限ループにより、Flash アプリケーションのクラッシュ、Web サーバーに対する Flash ドキュメントの応答の停止、Flash ドキュメントの非常に一貫性のない動作など、大きな問題が発生します。次のコードに、無限ループの例を示します。
// 不正なコード : 無限ループを発生させる
// 自己責任において使用すること
var i:Number;
for (i = 0; i < 10; i--) {
trace(i);
}
値 i が 0 に初期化され、終了条件が満たされるのは、i が 10 以上で、反復後に値 i がデクリメントされる場合です。ここで、明確なエラーがあることはすぐにわかります。ループの反復後に値 i がデクリメントされる場合は、終了条件が満たされることはありません。結果はコードを実行するコンピュータによって異なり、コードが失敗する速度は、CPU の処理速度および他の要因によって異なります。たとえば、あるコンピュータでは、エラーメッセージが表示されるまでにループが約 142,620 回実行されます。
次のエラーメッセージがダイアログボックスに表示されます。
A script in this movie is causing Flash Player to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort the script?
ループを操作する場合 (特に while ループおよび do..while ループを使用する場合)、ループが正しく終了でき、無限ループにならないことを常に確認してください。
ループ制御の詳細については、switch ステートメントの使用を参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000710.html