actionscript-3 - 在 ActionScript 3 flex 4 中使用 DisplayObject(Group ,UIComponent) 剪切复制粘贴

标签 actionscript-3 apache-flex flex4.5 flex4.6

我正在我的应用程序中实现剪切复制粘贴,如 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/

相关文章:

ios - Starling AS3 : A lot of textures, 内存警告 iOS

apache-flex - 我怎样才能给警报按钮设置焦点?

mysql - 在 Flex 移动应用程序中显示可滚动图片网格的最佳方法

apache-flex - loaderInfo null 在 creationComplete 处理程序函数中

actionscript-3 - Degrafa 在 Flex 4.6 的 LayoutManager 中创建错误

actionscript-3 - Flash 隐私弹出对话框缺少 "Remember"复选框

javascript - 当应用大约一半透明度的 Alpha 时,我将使用什么代码来获取颜色的十六进制值?

xml - 如何在 actionscript 3 中设置 xml 元素的变量属性?

apache-flex - Flex 4.5(英雄)s :Datagrid RowCount

flash - Actionscript内存管理,垃圾回收