在actionscript中深度克隆对象的最佳方法是什么?Actionscript中的深度克隆
7
A
回答
10
执行此操作的最佳方法是将ByteArray与writeObject方法一起使用。就像这样:
function clone(source:Object):* {
var copier:ByteArray = new ByteArray();
copier.writeObject(source);
copier.position = 0;
return(copier.readObject());
}
这个
更多信息,在这里:http://www.kirupa.com/forum/showpost.php?p=1897368&postcount;=77
0
如果你想深克隆的显示对象,这仅仅是它为我工作的方式:
public static function clone(target:DisplayObject):DisplayObject {
var bitmapClone:Bitmap = null;
var bitmapData:BitmapData = new BitmapData(target.width,target.height,true,0x00000000);
bitmapData.draw(target);
bitmapClone = new Bitmap(bitmapData);
bitmapClone.smoothing = true;
return bitmapClone;
}
请注意,这只会复制视觉对象。它不会复制方法或属性。 我用这个当我加载外部图像,并在多个地方使用它们。
相关问题
- 1. Yui3中的深度克隆
- 2. 对象的深度克隆
- 3. 如何在java中进行浅层克隆和深度克隆?
- 4. 在C#中深度克隆深物体(很深)
- 5. 深克隆Oracle表
- 6. Ruby:回形针,S3和深度克隆
- 7. Symfony - PHP - 深度克隆对象
- 8. Java中的深度克隆 - 仅克隆正在构建的对象
- 9. 在rails中克隆记录,是否可以克隆关联和深度复制?
- 10. 精简框架中的深入克隆
- 11. 对数组的深度或浅度副本克隆方法吗?
- 12. 在VBA中深度复制或克隆ADODB记录集
- 13. 如何在javascript中进行深度克隆
- 14. 如何知道git的浅层克隆的深度?
- 15. element.cloneNode(true)(深度克隆)的效率如何?
- 16. 如何创建深度克隆usercontrol的方法
- 17. 克隆和深度拷贝之间的区别?
- 18. 带有嵌入式关联的深度克隆文档
- 19. ActionScript测量3D深度
- 20. 使用反射对集合(键/值对)进行深度克隆
- 21. 使用JSON.stringify进行深度比较和克隆可以吗?
- 22. 方法显示为深克隆与jQuery.extend
- 23. 深入克隆对象和Log4perl
- 24. 如何克隆(深层拷贝)java linkList
- 25. omu.valueinjecter深入克隆不像类型
- 26. 深克隆对象物的一个类似的在Java中
- 27. 克隆或不克隆
- 28. 如何在实体框架4中进行深度复制(克隆)?
- 29. 我们可以深入克隆AngularJS中的事件对象吗?
- 30. 如何深入克隆ColdFusion ORM中的持久实体?
我不确定是否深层克隆了某物。我记得很久以前测试过这样的东西。它可以工作,但是如果你有类似于Vector对象的东西,那么你最终将得到一个新的Vector,其克隆中包含相同的对象。 – divillysausages 2011-04-27 08:05:52
如果你能告诉我这是行不通的还是另一种更好的解决方案,那么它是多么欢迎:) – rzetterberg 2011-04-27 08:07:49
好吧,我只是在这里测试它,它的工作原理,忽略我以前的评论。如果你想保持类型安全,你需要在你的类上使用'registerClassAlias()'。无论是在课堂上还是课堂上的任何课堂上。例如。如果你有一个'TestClass'类,它包含'Sprites'的'Vector',你需要在'TestClass'和'Sprite'上调用'registerClassAlias()',否则你会返回一个Object具有“精灵”所有属性的“对象”矢量图# – divillysausages 2011-04-27 08:34:52