我正在尝试使用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();
也会删除父母,但在我的情况下,它只会删除孩子而父母会留在舞台上
有人可以就此提出建议吗?
由于
答案 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)