2011-08-02 10 views
0

2つのムービークリップコンテナがあります。1つのムービークリップの子を別のムービークリップにコピーする

MovieClip_1 MovieClip_2

今MovieClip_1は1つの_child_1が含まれています。今すぐボタンを押すと、MovieClip_1の_child_1をMovieClip_2に追加しますが、MovieClip_1から削除することはありません。

ボタン押下イベントで次のコードを試しましたが、過去のコンテナから_child_1を削除しました。

var mc:MovieClip = MovieClip(MovieClip_1.getChildAt(0)); 
MovieClip_2.addChild(mc); 
+0

最初に_child_1がMovieClip_1にどのように追加されましたか?それはautoringツールに追加されたのでしょうか、それとも 'getDefinitionByName(..)'で追加しましたか? – Bakapii

+0

_child_1はムービークリップです。これをMovieClip_1.addChild(_child_1)で追加しています。 – hardik

+0

_child_1をどのように作成しますか?基本的には、_child_1を作成してMovieClip_1に追加して、_child_1の新しいインスタンスをMovieClip_2に追加するのと同じ作成メカニズムを使用することができます。 – Bakapii

答えて

2

2つの異なる親に同じ表示オブジェクトを追加することはできません。これを行うと、元の親から表示オブジェクトが削除されます。

代わりに、子クラスの新しいインスタンスを作成し、このインスタンスをコンテナMovieClip_2に追加することを検討してください。

+0

答えはありがたいですが、ムービークリップの新しいインスタンスを作成する方法は、getChildAt()で可能ですか? – hardik

+0

1.はい、 'getChildAt()'はあなたに子を与えます。 2. 'Object(child).constructor'はあなたに子供のクラスを与えます。 3.そのクラスのインスタンスを作成します。これは子のコピーになります。 4. MovieClip_2に追加します。 –

+1

答えがありがとう!!!!!!!!!!!!!!!!!!!! – hardik

関連する問題