例外ArgumentError:エラー#2025:供給DisplayObjectが発信者にエラーの子でなければなりません - AS
-
21-09-2019 - |
質問
私は、オブジェクトがステージ上に存在し、それを除去するかどうかをチェックすることが関数内のコードスニペットを有します
public function closeContent(e:MouseEvent):void {
removeChild(txt);
removeChild(ldr.content);
removeChild(_closeButton);
container_mc.visible = false;
statusText.text="";
if (contains(submitButton)) {
removeChild(submitButton);
}
if (contains(saveinfoButton)) {
removeChild(saveinfoButton);
}
}
私はstage
とthis
に変更root
しようとしたが、常にこのエラーが出るArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller
解決
あなたは明らかにこのコードDisplayObject
の子ではないことをremoveChild
でDisplayObjectContainer
を削除しようとしていることをエラー信号がから実行されます。
この問題を解決する1つの方法は、削除しようとしているオブジェクトが実際contains
を使用して、コンテナの子であるかどうかを確認することです。あなたはなく、いくつかの他のために、あなたは(submitButton
とsaveinfoButton
)を除去しているオブジェクトの一部のためにこれをやっている。
使用removeChild
はこれらtxt
sがコンテナ内にあるかどうかを確認することをif文でldr.content
、_closeButton
とcontains
ためDisplayObject
呼び出しをラップしてみます。
他のヒント
をお試しください
e.currentTarget.parent.removeChild(txt);
e.currentTarget.parent.removeChild(ldr.content)
etc.
これを試してみてください
public function closeContent(e:MouseEvent):void {
removeChild(txt);
removeChild(ldr.content);
removeChild(_closeButton);
container_mc.visible = false;
statusText.text="";
if (contains(submitButton)) {
removeChild(submitButton);
removeChild(saveinfoButton);
}
}
あなたが&&条件付きで除去するために、両方のアイテムを追加することができる場合があります。
if (contains(submitButton && saveinfoButton)) {
所属していません StackOverflow