在动作脚本 3 flex 4 中使用 DisplayObject(Group ,UIComponent) 剪切复制粘贴 [英] cut copy paste with DisplayObject(Group ,UIComponent) in action script 3 flex 4

查看:25
本文介绍了在动作脚本 3 flex 4 中使用 DisplayObject(Group ,UIComponent) 剪切复制粘贴的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在我的应用程序中实现剪切复制粘贴,例如 cacoo.但我在这些操作中遇到了问题.我正在使用剪切复制粘贴背后的想法

I am implementing Cut Copy Paste in my application like cacoo. but I face problem during these operation. i'm using idea behind cut copy paste

var className:String = getQualifiedClassName(objcut.getItemAt(i))
var klass:Class = getDefinitionByName(className) as Class
var cloneObject:* = new klass()

所以我无法保留对象的所有属性.在 flex 4 中执行这些操作还有其他想法.如何在 Flex 4(as3) 中复制图形对象.复制一个对象并多次粘贴.

so i'm not able to preserve all property of object. There is any other idea to perform these operation in flex 4.how can i copy an Graphical object in Flex 4(as3). Copy an Object and paste multiple times.

推荐答案

复制带有属性的对象的最简单方法是使用 ByteArray:

The simplest way to make a copy of object with properties is using 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.在进行复制之前,您需要为所有嵌套类注册别名以防止这种情况发生,例如在某些启动方法中.

But you can still get the error #1034 for nested classes. You need register aliases for all nested classes to prevent this before making copy, for example in some startup method.

这篇关于在动作脚本 3 flex 4 中使用 DisplayObject(Group ,UIComponent) 剪切复制粘贴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆