我已经知道actionscript工作者的编码部分了。最近,我把IDE换成了FlashDevelop。我不知道如何在FlashDevelop中编译actionscript工作者swf。
我尝试使用工具- Flash工具-构建当前文件。但是它会抛出错误,说Error: Type was not found or was not a compile-time constant: File.可能是因为我的项目是一个AIR项目,并且我在我的工作人员中使用了API。
我还尝试通过命令行使用amxmlc编译worker swf。它编译成功。但是在执行worker swf部件时,会崩溃。我手动编译的swf几乎是Flash为我生成的前者的一半大小。我想我编译了一个版本swf,这样ADL就不能调试,然后就崩溃了。
那么,如何在FlashDevelop中编译辅助swf来调试或发布项目的发行版呢?
更新
我发现菜单中的"Build“命令是FlashDevelop中名为”快速构建“的特性。默认情况下,它将编译当前文件输出到没有参数的项目根目录。我们可以使用@mxmlc ASDoc标记添加编译器参数(详见下面的链接),使其为我们编译一个辅助swf。但目前在FD 5.0.1中,@mxmlc +configname=air不编译air主权财富基金似乎是个错误。我使用@mxmlc -noplay -library-path=[Flex_SDK]\frameworks\libs\air\airglobal.swc -library-path=[Flex_SDK]\frameworks\libs\air\airframework.swc找到了一个解决方案,但是路径不能被引号包围,否则FD会显示错误。我可能会调查来源,并试图修复它。
链接:
发布于 2015-09-01 12:51:20
编译工作人员与编译任何swf没有什么不同,您将需要一个单独的项目来编译该工作人员,除非您的主要工作人员将自己加载为一个工作人员。
由于FlashDevelop不管理项目之间的依赖关系,所以您必须手动编译它,然后是主工作人员。您可以使用make或FlashDevelop以外的任何构建系统实现它的自动化,或者使用预/后构建命令行
顺便说一句,amxmlc只是“mxmlc+configname=air”的快捷方式,-debug=true将编译调试版本
我可以向您保证,文件可以在一个工作程序中使用,基本上它只是一些actionscript字节码,加载了其他一些actionscript字节码,并让它在一个单独的线程中运行,所以任何swf都可以用作工作程序,除非它不使用flash.system.Worker类,它将无法与其他工作人员通信,或者停止自身操作。总之,这些限制和问题更多的是关于线程之间的通信和同步。例如,由于只能通过AMF3序列化复制复杂对象,因此只能传递基本类型/对象作为参数,因此无法与非主工作人员的显示列表进行交互。
不要忘记更新FlashDevelop /AIR SDK以获得最佳员工支持
https://stackoverflow.com/questions/32314733
复制相似问题