【发布时间】:2013-10-15 10:03:08
【问题描述】:
我有一个具有一堆属性的显示对象。我想要做的是克隆这个类。我知道在 AS3 中无法对自定义类进行深层复制,因此我只需要复制属性,然后通过克隆方法创建一个新实例,该实例具有与原始类完全相同的属性。
我在获取显示对象的所有属性时遇到了一些问题。当然,我可以一个一个地调用每个 var 并将其放入一个数组中,然后将该数组返回给克隆,如下所示:
function clone():Array
array.push(displayObject.x);
array.push(displayObject.y);
array.push(displayObject.price);
return array;
但这并不是真正的面向对象。所以我正在寻找获取所有对象属性的方法,然后我会将这些属性放入一个新对象中。
哦,我在 AS3 for Air 而不是 Flex 上运行,所以我不能使用 mx.utils.ObjectUtil,这是一种方法。
【问题讨论】:
-
你能用
flash.utils.describeType吗? -
不幸的是它不读取私有属性。
-
无法访问私有和受保护的属性
标签: actionscript-3 variables properties copy clone