在AS3和Flash中,“删除”和简单的空帧是一样的



我的意思是,我是否必须通过AS或通过清除Flash中的关键帧来删除DisplayObject对象?还是一样的?

是否"必须"删除它们取决于您想要做什么。您必须从显示列表中删除它们(使用removeChild()),以便垃圾收集器收集它们(并释放它们的内存)。清除Flash Pro中的关键帧将导致对象从舞台上删除,但我不确定它是否也从内存中删除(因为它可能会在它再次出现时保留,例如在循环的MovieClip中。)

delete关键字在ActionScript中很少使用,特别是与c++不同的方式,例如,它用于释放对象的内存。相反,delete只能用于移除动态对象的属性,例如

var obj : Object = {};
obj.name = 'foo'; // Creating the name property on dynamic Object
delete obj.name;  // Removing the name property
trace(obj.name);  // "undefined"

请尽量澄清你的问题。如果你给出一些背景信息,可能会更容易得出你真正想问的是什么,并给出一个更相关的答案。

最新更新