2012-02-05 7 views
-4

私はactionscript 3に問題があります。 ステージでは、 "text0"という名前のテックスフィールドを持っていますが、AS3でremoveChild(text0)を書き出しようとすると、エラーが発生します(エラー#2025)。私はMovieClipシンボルを削除するのに常にこの構文を使用しました。なぜテキストフィールドではうまくいかないのでしょうか?AS3:ステージからテキストフィールドを削除するにはどうすればよいですか?

答えて

0

場合、またはあなたが試すことができます:

text0.parent.removeChild(text0); 
+0

これは誤りです。つまり、 'text0'がコードと同じレベルにある必要があるという意味で、' this.removeChild'という呼び出しが可能であり、状況で使用されるべきです。別のアプローチを示したいと思っていますが、コード品質の点では重複していても間違っています。そして、通常の 'removeChild'よりも良い答えはありません。なぜなら、この方法では動作しない可能性があるからです。 – joncys

+0

可能であれば、this.removeChildを使用する方が良いことに同意します。あなたが言ったように、TextFieldが突然メインステージにはなく、誤って一部のMCにある場合に、別のアプローチを表示したいとしています。 – 3vilguy

0

削除するオブジェクトの親にremoveChildを呼び出す必要があります。

それが明確でない場合は、多少詳細なコードを投稿することもできます。

-1

親からtextFieldを削除する必要があります。それがムービークリップ内にある場合は、myMovieClipと呼ばれ、あなたのコードは、メインのタイムライン上で、テキストフィールドがメインのタイムライン上での書き込み、メインステージ上にある場合myMovieClip.removeChild

を行うthis.removeChild

EDIT

コードとTextFieldは、その後、同じレベルでthis.removeChild

+0

または単に 'removeChild(text0)'( 'this'は不要です)が、メイン文書クラスの内部に書き込まれている場合に限ります。 – TheDarkIn1978

0

テキストフィールドを持たないコンテナからテキストフィールドを削除しようとしているようです。親をトレースして、あなたがうまくやっていることを確認し、適切な親をターゲットにしてください。

trace(text0.parent); 

また、私たちがあなたに理論を与えるだけでなく、何かを助けるためにいくつかのコードを投稿することもできます。

0

このコードが実行されたDisplayObjectContainerの子ではないremoveChildを持つDisplayObjectを削除しようとしているというエラーメッセージが表示されます。

この問題を解決する1つの方法は、削除しようとしているオブジェクトが実際にcontainsを使用しているコンテナの子であるかどうかを確認することです。削除するオブジェクトのいくつか(submitButtonとsaveinfoButton)ではこれを行いますが、他のオブジェクトでは行いません。

txtのremoveChild呼び出しをラップして、これらのDisplayObjectがコンテナにあるかどうかを確認してください。

関連する問題