[]TimeLine如何判断其是否已经被销毁?

首先看看我的例子:

1.png

输出如下:

2.png

第一条输出:当我声明一个timeLine1实例时,trace(timeLine1)为null;
第二条输出:当我创建一个timeLine1实例时,timeLine1 “有了自己的生命”
第三条输出:当我缓动创建完时,timeLine1 “开始生长发育”
重点是第四条输出,缓动结束 timeLine1.destroy();再输出,timeLine1并不为null,但是此时再播放缓动或再创建缓动都会报错,必须从new-创建一个实例开始。
第五条输出:我null以后,timeLine1输出为null了,所以我跳过destroy,直接硬给timeLine1复制null,好像达到的效果相同。再播放缓动或再创建缓动都会报错,必须从new-创建一个实例开始。
 
问题一:直接赋值null,其缓动有没有跟着被清除,本质区别在哪。第四条destroy后输出的算是什么?destroy后需不需要再给null
问题二:比如我有一个人物技能是由timeLine1实现,播完后我给它destroy。但我在游戏结束后移除所有对象时也会主动把每一个timeLine给destroy,此时就会报错,那么我该如何加一个条件if判断timeLine1有没有被销毁?
已邀请:

cuixueying

赞同来自:

第一条输出:因为还没有new timeLine1,trace为null是对的
第二条输出:在new timeLine1之后输出,这时候timeLine1已经创建好了,输出timeline对像是对的
第三条输出:播放完成,并没有针对timeLine1做任何操作,依旧输出timeLine是对的
第四条输出:destroy是彻底销毁此对象,将timeLine1内部的数据全部清除,但是并没有从显示列表销毁,所以该对象在显示列表中是依然存在的,唯独变化的是数据全部为null了,此时输出timeLine对象也是对的
第五条输出:你手动将tileLine置null了,自然输出也是null!
问题一:参考上面的解释
问题二:你可以参考下面的移除方式
            timeLine.pause();//暂停timeLine动画,将timer进行clear
timeLine.destroy();//将timeLine的数据清null
trace(timeLine.hasOwnProperty("destroy"));//判断timeLine是否调用了destroy方法
timeLine=null;//将timeLine从显示列表清空

要回复问题请先

商务合作
商务合作