永发信息网

flash 中removeChild();的问题

答案:2  悬赏:70  手机版
解决时间 2021-04-25 00:18

请问在flash中用removeChild()完完全全清清楚楚真真正正的删除对象?

要简单点的方法,谢谢各位大虾!!

最佳答案

假设通过addChild(mc)生成的几个MC:
var i:uint;
for (i=0; i<5; i++) {
var mc:MovieClip = new tempMc();
mc.name=String("mc"+i);
mc.txt.text=mc.name;
stage.addChild(mc);
}


然后在for外面全部删除新生成的MC:


var i:uint;
var mc_array:Array=new Array;
for (i=0; i<5; i++) {
var mc:MovieClip = new tempMc();
mc.name=String("mc"+i);
mc.txt.text=mc.name;
mc_array.push(mc);
stage.addChild(mc);
}
function removeMc() {
for each (var _p:MovieClip in mc_array) {
stage.removeChild(_p);
}
}
//执行函数,就删除刚才的那些MC
removeMc();


不过用removeChild()移除后的东西还会占内存的(这个没办法,当初就这么设计的,汗,因为removeChild只是将显示列表里面的引用 设置为null)~..如果想彻底移除的话..可以使用=null或者
removeMc(stage);
function removeMc(mc) {
while (mc.numChildren>0) {
mc.removeChildAt(0);
}
}
不过后者只是是删除了所有的显示对象,不是删除前面的程序生成的对象



所以按照你的要求应该是使用=null的方法,希望对你有帮助!


对了,貌似还有一种方法,不知道对不对,使用delete mc
不过在AS3以后的用途已经小了

全部回答

removeChild只是删除在显示列表的。缓存里还有地。

可以看下帮助的MovieClip类呀。F1

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
WLK猎人是不是更垃圾了
单机暗黑破坏神怎么出最终BOSS 就是暗黑破坏
怎么把CF的屏幕变小?
怎样的女生比较可爱?
类似冰菊物语的古筝曲子有没有
政通路/卫国南路(路口)地址在什么地方,想过
单间怎么布置?
我爱上我曾经拒绝过的那个男孩已经有女朋友了
5130主题无法使用
我们老死后QQ怎么办
如果一个人你们不是很熟,但他却告诉你他的想
如果一直想尽办法想忘掉一个人却怎么也忘不了
烽火的分城多一点好么
登陆刚出来的都有什么游戏?
五彩娃娃合成要哪1及的法宝
推荐资讯
2009年情人节最需要什么
已知正数a,b,c,x,y,z满足a+x=b+y=c+z=k,求证a
胡同学 我是幼儿园 帮忙注册个itunes账号好不
怎么关掉百度推荐,百度搜索推荐怎么关闭 5分
急需夸赞一个女孩很体贴,很会照顾人的成语,
如何辅导八九岁儿童画画
神鬼红龙成长强8带出好还是强十带出来好 差多
推荐几首好听的歌、
试述社会文化对学前儿童社会性发展的影响?
昆明的教堂结婚费用要多少?请牧师或神父主持
兴山县广电局怎么去啊,有知道地址的么
一个人看着星星的时候 你会想什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?