我正在我的应用程序中实现剪切复制粘贴,如 cacoo .但我在这些操作中遇到了问题。 我正在使用剪切复制粘贴背后的想法
var className:String = getQualifiedClassName(objcut.getItemAt(i))
var klass:Class = getDefinitionByName(className) as Class
var cloneObject:* = new klass()
所以我无法保留对象的所有属性。 还有其他方法可以在 flex 4 中执行这些操作。如何在 Flex 4(as3) 中复制图形对象。复制一个对象并多次粘贴。
最佳答案
复制具有属性的对象的最简单方法是使用 ByteArray:
public static function copy(value:Object):Object
{
if (!value)
return null;
//register object class to prevent Error #1034: Type Coercion failed
registerClassAlias(getQualifiedClassName(value), value.constructor);
var buffer:ByteArray = new ByteArray();
buffer.writeObject(value);
buffer.position = 0;
var result:Object = buffer.readObject();
return result;
}
但对于嵌套类,您仍然会收到错误 #1034。您需要为所有嵌套类注册别名以防止在复制之前发生这种情况,例如在某些启动方法中。
关于actionscript-3 - 在 ActionScript 3 flex 4 中使用 DisplayObject(Group ,UIComponent) 剪切复制粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14273989/