2012-05-01 2 views
0

私はカップル以外のステージ上のすべてのオブジェクトにマスクを適用しようとしています。いろいろなオブジェクトがあり、将来的にそれらの量が変化するので、私はマスキングを動的にしたいと思っています。`getChildAt(i).mask`を使用して1つのマスクで多くのオブジェクトをマスクすることはできません

私はこのコードを書いた:

var i; 

for (i = 0; i < this.numChildren; i++) { 
    if (this.getChildAt(i).name!="stage_kelp_bg" && this.getChildAt(i).name!="magnifier_mask") { 
     this.getChildAt(i).mask = this.magnifier_mask; 
    } 
} 

上記のコードは、ドキュメントクラスのコンストラクタメソッド内です。

this.stage_kelp.mask = this.magnifier_mask; 

のようなものは、完璧に動作しますが、その1つのオブジェクトのみが表示されます。どのようなアイデアが間違っている?

エラーはスローされず、オブジェクトは単純にマスクされません。およそfor each

for (var mc:movieClicp in this){ 
        mc.mask=mask_} 

答えて

1

さらなる研究は、私は複数のオブジェクトに1枚のマスクを適用することができないことを私に示してどのように

0

。私は各オブジェクトのためのマスクを持っているか、またはすべてのオブジェクトを1つのコンテナに入れ、そのコンテナをマスクする必要があります。

レイヤーを使用してタイムライン上の複数のオブジェクトをマスクすることはできますが、すべてのオブジェクトを1つのコンテナに追加することなくプログラムで行うことはできません。残念ながら、アプリケーション全体を再コーディングせずにこれを行うことはできないので、タイムラインを使用してものをマスクします。

+0

'C:\ [classes] \ classes \ ivk_kfz.as、Line 36を取得します。\t 1067:タイプStringの値を関連のないタイプflash.display:MovieClipに暗黙的に強制します。 '---- 36行目は' for(var mc:MovieClip in this){' – BumbleShrimp

+1

です。さらなる研究は私が複数のオブジェクトに1つのマスクを適用できないことを示しています。私は各オブジェクトのためのマスクを持っているか、またはすべてのオブジェクトを1つのコンテナに入れ、そのコンテナをマスクする必要があります。 – BumbleShrimp

+0

import flash.display。* – al03

1

1つのムービークリップでマスクするすべてのムービークリップをよりよく動かすことをお勧めします。あなたのケースで実現可能なら、これは簡単になります。

関連する問題