2

Flash CS5.5を使用しています。手動でいくつかのレイヤーを作成し、そのうちのいくつかは、レイヤーの 1 つで作成されたシェイプ マスクを適用します。 ここで画像を見てください

次に、AS3 コードから子 (addChild、removeChild) を操作します。その後、マスキングは消えます 8(。以下のコードで、すべての子オブジェクトにマスクがないという問題が発生しました。

    for(var i:uint=0; i < this.numChildren; i++)
    {
        trace("poster["+String(i)+"] =",this.getChildAt(i),"mask =",this.getChildAt(i).mask);
        //poster[0] = [object Shape] mask = null
        //poster[1] = [object PosterItemsContainer] mask = null
        //poster[2] = [object PosterItemsContainer] mask = null
        //poster[3] = [object PosterItemsContainer] mask = null
        //poster[4] = [object PosterItemsContainer] mask = null
        //poster[5] = [object PosterBut_3] mask = null
        //poster[6] = [object PosterBut_3] mask = null
        //poster[7] = [object PosterBut_3] mask = null
        //poster[8] = [object PosterBut_3] mask = null
        //poster[9] = [object TextField] mask = null
        //poster[10] = [object TextField] mask = null
    }

もちろん、これらすべての子を AS3 コードから動的に作成することもできます。マスク プロパティを使用してもおそらく問題はありませんが、この場合、オブジェクトをマスキングするためのコンテナーを作成する必要があります。1 レベルのネスティングを作成して、神秘的な Flash IDE レイヤー マスクを処理したいと考えています。

4

0 に答える 0