我正在我的应用程序中实现剪切复制粘贴,例如cacoo http://www.cacoo.com。但我在这些操作过程中遇到问题。
我正在使用剪切复制粘贴背后的想法
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。您需要为所有嵌套类注册别名,以防止在进行复制之前发生这种情况,例如在某些启动方法中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)