删除Flash AS3中的父母和子女?

时间:2014-11-07 20:38:24

标签: actionscript-3 flash

我正在尝试使用AS3删除flash文件中movieClip的父级和子级。

我遇到的问题是我只能移除孩子而且父母一直待在舞台上!

这是我删除父母和子女的代码:

    removeChild(clip_mc);
    clip_mc = null;
    gotoAndStop(2); 

这就是我创建movieclip及其子代的方式:

                     var clip_mc = new MovieClip();
                     // Add the rectangle graphic
                     clip_mc.addChild(rect);
                     // Add the text field
                     clip_mc.addChild(myText);

                     clip_mc.addChild(pictLdr2);
                     // Put the new movieClip on stage now
                     addChild(clip_mc);
                     // Make the mouse button mode true for the movieclip so user knows it is a button
                     clip_mc.buttonMode = true;     

我认为,添加removeChild();也会删除父母,但在我的情况下,它只会删除孩子而父母会留在舞台上

有人可以就此提出建议吗?

由于

2 个答案:

答案 0 :(得分:1)

要移除一个对象clip_mc,你可以这样做:(对代码的评论)

if(contains(clip_mc)){

    clip_mc.parent.removeChild(clip_mc) // removes clip_mc from it's container 

    trace(contains(clip_mc))            // gives : false

    trace(clip_mc)                      // gives : [object MovieClip]

    clip_mc = null                      // removes the reference of clip_mc

    trace(clip_mc)                      // gives : null

}

测试代码:

var rect:clp = new clp()

var clip_mc = new MovieClip()
    clip_mc.addChild(rect)
    clip_mc.buttonMode = true

addChild(clip_mc)

// of course, we activate this portion just at the end to remove clip_mc
if (contains(clip_mc)){
    clip_mc.parent.removeChild(clip_mc)
    clip_mc = null
}

答案 1 :(得分:0)

尝试使用clip_mc.parent.parent.removeChild(clip_mc.parent)