ActionScript3 〜新しいランタイムエラー〜

出口の見えないデバッグほど体力を消耗する作業はありませんね。


FlexBuilder2はEclipseベースなので、デバッガも使ったことがある感じのままでした。
助かります。

今日の苦しみ

ランタイムエラーに悩まされる日々ですが、今回はこんなエラーです。

ArgumentError: Error #2025: 指定した DisplayObject は呼び出し元の子でなければなりません。

この原因はシンプルです。
例えば「removeChild()」を使用する場合、

var stageSp:Sprite;
var childSp:Sprite;

stageSp.addChild(childSp);

stageSp.removeChild(childSp);

というように、事前に「addChild()」するなりして子ディスプレイオブジェクトが存在しなければなりません。
最初に挙げたランタイムエラーはこの子ディスプレイオブジェクトが存在しないことから起こるエラーです。


子は絶対存在しているはずなのに、このエラーが出続けているという疑問で長時間苦しみましたが、
気づかないところで上記の「stageSp.removeChild(childSp)」みたいな処理を
2回連続で実行しているという「可能性」に行き着きました。
まだ検証できていませんので、これから試してみます。