質問

こんにちは私はAS3に慣れていません。私は、その時点で子供を連れ去るための最良の方法は何だろうと思っていました。私は試した

Holder.removeChild(Holder.getObjectsUnderPoint(new Point(exampleX, exampleY))[0]);

ただし、それはArgumentErrorを返しました:エラー#2025:付属のDisplayObjectは発信者の子でなければなりません。

助言がありますか?

役に立ちましたか?

解決

getObjectSunderPoint()メソッドは、必ずしもあなたのホルダーオブジェクトの直接の子供ではない可能性のあるDisplayObjectsの配列を返します。

このような条件付きを設定できます。

var objects:Array =  Holder.getObjectsUnderPoint( yourPoint );
for each( var child:DisplayObject in objects )
{
    if( child.parent == Holder )
       Holder.removeChild( child ) ;
}

Holder.Containsは孫も返品するので、何もフィルタリングしません...私の間違い!

他のヒント

パトリックバージョンが機能しない理由はわかりません。クリップの親を使用した代替(ugいコード)ソリューションは次のとおりです。

var clips : Array =  _container.getObjectsUnderPoint(_point);

for each(var clip : DisplayObject in clips)
{
    clip.parent.removeChild(clip);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top