如何处理错误#2025:提供的DisplayObject必须是调用者的子级

时间:2012-02-08 14:14:24

标签: actionscript-3 displayobject

        private var _hud:HUDc = new HUDc();

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

       }

HUDc扩展了MovieClip(以及调用的MovieClip)我不知道为什么我会在检查舞台是否包含movieclip时出现此错误?

任何参赛者?

干杯

1 个答案:

答案 0 :(得分:0)

从DisplayObjectContainer文档中包含:

  

确定指定的显示对象是否为子节点   DisplayObjectContainer实例或实例本身。搜索   包括整个显示列表,包括此DisplayObjectContainer   实例。每个回归的孙子,曾孙,等等   真。

仅仅因为舞台“包含”_hud,并不意味着_hud是舞台的直接孩子。试试这个:

if (_hud.parent != null)
{ _hud.parent.removeChild(_hud); }