As3 复制对象

2024-03-04

有时我们需要克隆一个对象。但是如果一个显示对象有一些子对象并使用如下函数:

function clone(source:*):*
{
    var b:ByteArray = new ByteArray();
    b.writeObject(source);
    b.position = 0;
    return(b.readObject());
}

但结果没有孩子……所以我该怎么做 ?


不幸的是,在大多数情况下,在动作脚本中自动克隆对象是浪费时间。

您的代码片段是正确的,但是序列化/反序列化通过ByteArray无法执行真正的深复制,即复制所有引用和容器。ByteArray技术仅适用于非引用数据类型(Number, int, String, etc.)

因此,没有灵丹妙药,只有一种足够的解决方案 - 编写clone()手动为您的班级提供方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

As3 复制对象 的相关文章

  • 如何计算 MIDI 文件的时间长度

    我正在使用名为 midas 的有用库的帮助下读取 as3 flash cs5 中的 midi 文件 http code google com p midas3 http code google com p midas3 midi as3 库
  • AsyncTask 也在 flash 中吗?

    我开发了一款大小为 27mb 的游戏 我将其加载到设备中 它的性能会降低 有时会挂起设备 这个游戏中使用了很多媒体资源 如果我在 android 中制作它 那么我会处理和异步任务 http developer android com ref
  • 在 Android Flash 10.1 上打开软件键盘

    我正在开发在浏览器中运行的移动 Flash 应用程序 不是 AIR 应用程序 根据 Adob e 的说法 Flash Player 10 1 提供支持 使用本机设备虚拟键盘 如果没有物理支持 则使用 TextField 支持 检测到键盘 一
  • 使用 Actionscript 3 连接到数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找有关如何基于数据库在 Flash 中动态创建内容的建议 最初我想将数据库导出到 XML 文件并使用内置的 Actionscr
  • AS3 瓦片地图渲染(具有 1000 个瓦片)

    首先我要说的是 这里的上下文是 Actionscript 3 0 IDE Flashbuilder 以及椋鸟框架 http gamua com starling 因此 我想创建一个可用于平台游戏或类似游戏的图块地图 我想在 800x600
  • Flex/AS3很奇怪的简单数字运算问题

    我的问题在 Flex 中描述起来非常简单 0 8 0 2 0 6000000000000001 以前有人得到过这个 我确定前两个成员是 0 8 和 0 2 并且是 Number 类 为什么会发生这种情况 另一件事 我从 像这样输入 var
  • 将数据/变量从 Visual Basic 表单传递到 Flash 对象

    我很确定这个问题可以在 stackOverflow 上的某个地方得到解答 但我对此没有选择 我有一个 VisualBasic 窗体 上面有一个按钮对象 我希望该按钮有一个 onClick 过程 以便单击它可以将变量或其他命令传递到另一个正在
  • ActionScript 3 中的圆形滑块

    我希望在 ActionScript 中添加一个圆形滑块 非常类似于这一页 http interface eyecon ro demos drag vr html shows 它最终会改变对象的色调 返回 CMY 值 但如果它只是吐出程度 我
  • ActionScript 3.0 中缺少运算符重载

    我在 ActionScript 中最怀念的事情之一是缺少运算符重载 特别是 我通过在我的类中添加 Compare 方法来解决这个问题 但这在很多情况下没有帮助 比如当你想使用内置字典之类的东西时 有没有好的方法来解决这个问题 Nope 但添
  • 如何通过使用内置的 Date 类来节省时间?

    这个问题的目的是使用内置的 Date 类收集日期 时间计算的解决方案 而不是编写冗长的复杂函数 我会自己写一些答案 如果有人想出一些非常聪明的东西 我会接受答案 但这主要是作为解决方案的集合 因为我经常看到处理日期的代码过于复杂 请记住这是
  • as3 事件 - 类型强制失败?

    我正在将事件从孩子发送到父母 swf 它工作正常 直到我使用预加载器 swf 加载父级 然后父级停止从子级获取事件 我现在收到此错误 TypeError Error 1034 Type Coercion failed cannot conv
  • 从另一个域加载外部图像

    是否可以从另一个域加载图像 jpg png gif 并操作像素 我想当下载 复制图像时它就在我的域中 使用加载器并将内容添加到图像组件时 我在调试器中收到错误 我想这里有一些跨域策略在起作用 但在继续之前我需要更确定它是如何工作的 我想 如
  • 将应用程序状态保存在磁盘或其他位置,以便用户稍后访问它

    In 弹性构建器 4 5我正在做一个像这样的项目cacoo http www cacoo com 我想保存diagrams display object ui components text 在将应用程序关闭到应用程序之后我无法访问的某个地
  • 更改 AS3 中的 TextField 选择颜色

    如何更改 ActionScript 3 中 TextField 的选择 突出显示 颜色 我有一个输入文本字段 黑色背景上有白色文本 因此 选择是不可见的 这对于可用性来说非常糟糕 谢谢 另一种方法是使用文本布局框架 特别是使用 Select
  • Actionscript 对象的属性数量

    如何获取通用 Actionscript 对象中的属性数量 如数组长度 您必须循环所有元素才能对它们进行计数 function objectLength myObject Object int var cnt int 0 for var s
  • 从 Air Native 扩展返回结构

    是否可以从本机代码返回结构 返回 int 或 boolean 相对简单 但是如何将更复杂的结构返回给动作脚本 您可以返回任何可以在本机代码中表示为 FREObject 的对象 这实际上包括任何 Actionscript 类或 Actions
  • Random.Next() 的 Actionscript 3 实现

    我想知道 AS 3 中是否有很好的 Random Next 实现 基本上想要生成一系列给定种子的随机数 有时 最小和最大限制 类似于 C System Random 类 Random random new Random return ran
  • Flash 未在调试播放器中显示错误/堆栈跟踪(firefox/chrome/whatnot)

    我正在尝试调试在线默默地失败的应用程序 我 100 确定我正在运行 Flash 调试播放器 为了确保我不会丢失它 我故意抛出一个错误 但 Flash 在浏览器中没有显示任何 stracktrace 我快要失去它了 有什么线索吗 我正在 ch
  • 如何在as3中不询问的情况下写入外部文件

    我有这个代码 var fileRef FileReference new FileReference fileRef save ciao coso lingua txt 在现有的 lingua txt 文件上写入 该脚本有效 但每次他保存时
  • AS3 [Event(name="", type="")],有什么意义?

    我使用 FlashDevelop3 R2 和 Flex 3 3 SDK 进行开发 在很多情况下我必须使用嵌入元数据标签 如下所示 Embed source path to file private var Asset Class 我很好地理

随机推荐