【问题标题】:Mixing Flash and Flex-compiled ActionScript code through a runtime shared library通过运行时共享库​​混合 Flash 和 Flex 编译的 ActionScript 代码
【发布时间】:2010-12-31 08:02:07
【问题描述】:

我们是开发 Flash 应用程序的两个人。

我处理一些 ActionScript 3 代码, 我在 Linux 上使用 Flex SDK 将其编译为 .swc 文件。 我的同事在 Flash IDE 中将该文件用作他的 .fla 文件的库, 在他的脚本中使用我的代码,创建 MovieClip 和 Sound 对象 它提供的课程, 并从那里构建最终的.swf 文件, 与所有链接。

我们希望将 flex 编译的代码链接为运行时共享库​​, 所以我可以替换我的课程的新版本并查看结果 无需通过 Flash IDE。

我们正在努力实现的目标是否可行? 如果是这样,知道我们可能做错了什么吗? (见下文)

我们使用 Flex SDK 版本 3.4.0.9271 和 Flash CS4 10.0.2。

使用.swc 作为静态库可以正常工作。 但是,一旦我们移动它 从“库路径”选项卡 到“外部库路径”选项卡 在“ActionScript 3.0 高级设置”中, 小程序停止工作。 我们还尝试为 .swc 文件指定 URL 在“库”窗口的“共享库属性”中, 没有效果。

(请原谅反向翻译的菜单名称, 请随时纠正我。)

ActionScript 代码使用以下命令行编译 (还有其他三个包中的类):

acompc -output=engine.swc -compiler.source-path=.
       -include-classes=lib.room.TransientLoc,lib.room.State,...

提前感谢您的任何建议,

【问题讨论】:

    标签: apache-flex flash flex3 flash-cs4 rsl


    【解决方案1】:

    Flash CS4 IDE 是否支持 RSL?我认为这是一种仅在 Flex 中可用的机制。 您可能希望将 Flex Builder 代码编译成 swf,然后在应用程序中执行任何其他操作之前将 swf 导入 CS4 代码。这样,您的类在运行时可用,但您可以导入新的 swf 而无需重新编译 Flash IDE 内容。

    【讨论】:

    • RSL 似乎在 flash 中可用,但我们没有设法让它工作,最终用 UIMovieClip(来自 flash 的 flex 工具包)和一个简单的 flex 应用程序破解了一个解决方案。当我们找到更好的方法时(或者当我们承认我们不会......)时,我会发布答案
    【解决方案2】:

    请注意,external-library-path 仅告诉链接器将在该 SWC 中找到的所有符号外部化,它实际上并没有告诉它 RSL 在哪里。您说您提供了 SWC 的 URL,这还不够;您需要提取 SWC 中的 SWF 才能使用它。这是 mxmlc/Flex Builder 在幕后为您处理的所有内容,但由于您使用 Flash 进行链接,因此您需要手动执行一些操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      相关资源
      最近更新 更多