通过运行时共享库​​混合Flash和Flex编译的ActionScript代码

时间:2009-12-31 04:32:37

标签: flex flash flex3 flash-cs4 rsl

我们是两个在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,...

感谢您提前提出任何建议,

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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