Что делать с ошибкой № 2025: предоставленный DisplayObject должен быть дочерним по отношению к вызывающему объекту

        private var _hud:HUDc = new HUDc();

        private function someMethod():void
        {
            if(stage.contains(_hud))
            {
                stage.removeChild(_hud);
            }

       }

Где HUDc расширяет MovieClip (вместе с вызовом MovieClip) Я не уверен, почему я получаю эту ошибку, если я проверяю, содержит ли сцена мувиклип?

Есть берущие?

Ваше здоровье


person MikeW    schedule 08.02.2012    source источник


Ответы (1)


Из документации DisplayObjectContainer содержится:

Определяет, является ли указанный экранный объект дочерним элементом экземпляра DisplayObjectContainer или самого экземпляра. Поиск включает весь список отображения, включая этот экземпляр DisplayObjectContainer. Внуки, правнуки и т. д. каждый возвращает правду.

Тот факт, что stage «содержит» _hud, не означает, что _hud является прямым потомком stage. Вместо этого попробуйте:

if (_hud.parent != null)
{ _hud.parent.removeChild(_hud); }
person meddlingwithfire    schedule 08.02.2012