在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