2011-03-12 5 views

答えて

1

コードは次のようなものになるだろう削除したいムービークリップinfo_grd内部my_btnという名前のボタンがあります:ライブラリからムービークリップを追加している私はここでやっている

delete_btn.addEventListener(MouseEvent.CLICK , del); 

function del(e:MouseEvent) 
{ 
    this.parent.removeChildAt(0); 
} 

は、子を追加すると、削除をクリックすると親を削除します。

var mm:mm1 = new mm1(); 
//Adding it to stage 
addChild(mm); 

var m2:mm2 = new mm2(); 
//adding the child to mm 
mm.addChild(m2); 
+0

を 'this.parent.removeChildAt(0);'我々入力ムービークリップレベル右括弧内? – Akhil

+0

はい、そうです。あなたはレベルをAS3インデックスで言うことができます。 –

+1

ここでも良い例があります:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html#removeChildAt() –

1

アミールのコードでは子供が1人しかいないと仮定しているため、子供を追加すると機能しません。

正しい行動実行するこのコード:

deleteButton.addEventListener(MouseEvent.CLICK , removeFromParent); 

function removeFromParent(event:MouseEvent) 
{ 
    var child:DisplayObject = event.currentTarget as DisplayObject; 
    var parent:DisplayObjectContainer = child.parent; 

    parent.removeChild(child); 
} 
+0

これはうまくいきません.iはこのイベントを試しました.target.parent.parent.removeChild(event.target.parent.parent); '.Or便利なメソッドはありますか? – Akhil

+1

マウスイベントを扱うときに' event.target'を使わないでください。ほとんどの場合、それはあなたのものではありません期待する。また、自分自身から項目を削除しようとしていますが、これは非合理です。 – LiraNuna

+0

あなたのコードは、削除しようとしているMovieClip @AkhilがdeleteButtonであるとみなしています。しかし、私は彼らがinfo_grdの親を削除しようとしていると信じています。 –

関連する問題