Actionscript 3 使用write byteArray进行深度克隆无效
我正在为我的一个类编写一个克隆函数Actionscript 3 使用write byteArray进行深度克隆无效,actionscript-3,Actionscript 3,我正在为我的一个类编写一个克隆函数 var buffer:ByteArray = new ByteArray(); buffer.writeObject(this); buffer.position = 0; var gameblock:* = buffer.readObject(); 现在是读取对象的最后一行。我把这三个错误放在一起: TypeError:Error#1009:无法访问null的属性或方法 对象引用。TypeEr
var buffer:ByteArray = new ByteArray();
buffer.writeObject(this);
buffer.position = 0;
var gameblock:* = buffer.readObject();
现在是读取对象的最后一行。我把这三个错误放在一起:
TypeError:Error#1009:无法访问null的属性或方法
对象引用。TypeError:错误#1034:类型强制失败:无法
转换Object@c60efe9为.BlockData建模。TypeError:错误#1034:
类型强制失败:无法转换Object@c5141c1到
flash.geom.Matrix
类“this”包含一个用户定义的类BlockData和一个点。错误就在那上面。你认为我应该如何克隆这个类
我确实会再次覆盖块数据和点,以确保它们正确返回使用registerClassAlias
方法检查答案以获得更好的copy
方法,但请记住,您只能在简单情况下使用此方法,例如复制数据对象,如TextFormat或Value对象,您可以复制DisplayObject及其后续对象。对于您的类来说,“更好”是通过数组序列化来实现的,正如fsbmain所说,DisplayObject不能被复制