AS2.0で、自分の中にあるムービークリップを列挙する方法を記載します。


for ..in / instanceof式について

 まずサンプルコード中で使用している式の説明を以下に示します。

 ◆for ..in 式
  特定オブジェクトが持つプロパティを文字列として列挙する式です。
  これを利用し、thisがもつプロパティのうちムービークリップであるもののみ列挙します。

 ◆instanceof式
  特定オブジェクトが何のインスタンスであるかを評価する式です。
  これを利用し、for ..in式で列挙した "プロパティ名を持つオブジェクト" がMovieClipであるかを確認します。

 

サンプルコード

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
‌ 
    // ====== 自分の中にあるムービークリップを列挙
    for ( var myObjectName:String in this ) {
‌ 
        // ====== [MovieClip]のインスタンスだけ抽出
        ifthis[myObjectName] instanceof MovieClip ){
‌ 
            // ====== ムービークリップ名を出力
            trace"name ::" + this[myObjectName]._name );
        }
    }
‌ 
このコードは CodePublisher で生成しています

 

補足

 このコードでは、自分の階層の1コ下のレベルまでしか列挙できません。
 以下の構造で言うと、ムービークリップ1,2,3しか列挙できません。
 ◆自分(this)
  +- ムービークリップ1
  +- ムービークリップ2
  |     +- ムービークリップ4
  |     +- ムービークリップ5
  |           +- ムービークリップ6
  +- ムービークリップ3

コメント

コメントを投稿する

コメントを投稿する場合は以下に注意してください。

・記事に関係する内容であること
・特別な理由がない限り「全体公開」であること

これさえ守っていただければどんな内容でも投稿可能です。
皆様の質問やコメントは他の方の問題解決に繋がりますのでご協力ください。

コメント投稿フォーム
名前
メール
URL
コメント
閲覧制限

コメントを投稿するには、以下の問題に答えてください。
問題:「このサイト名をカタカナ六文字にして入力してください」