RemoveChild前に確認しときたい時のDispayObject.contains

報告エントリばかりじゃアレなので、小ネタも投稿しておきます。
基本だけど知らなかったよシリーズ。
AS3で表示要素をremoveChildする時に、もうすでにremoveChildされてたりすると「DisplayObjectの子じゃないのはいけないと思います!」と怒られるのですが、これを回避するために
親DispayObject.contains(子DisplayObject)
で消えてるかどうか(正確には親要素の子要素に含まれているかどうか)確認してから消せます。
trueならChildで、falseだと無関係で、falseの時に同じ組み合わせでremoveChildすると怒られる。

設計が悪いのか? このようにして消えてるかどうか確認してから消したいケースがよくある・・

イベントなら
対象のオブジェクト.hasEventListener(イベントタイプ)
Tweenerなら
Tweener.isTweening(対象のオブジェクト)
で確認ですね。

便利!

以上、小ネタでしたー。

タグ: ,

コメントをどうぞ