如何解决AS3将外部文件打包为一个独立文件swf
|| 我已经创建了一个非常大型的Flash游戏,并且显然受到了广泛的监督-希望托管我的游戏的Flash门户网站需要在一个独立的.swf文件中使用它。但是,问题是我从外部加载了所有内容。我从.plist文件加载级别数据,从.png加载图像,从.wav加载声音,所有这些都位于.swf目录中的文件夹中。它们是通过Loader和URLRequest加载的。 我有什么办法可以嵌入这些内容,使其独立运行?与单个写入嵌入行相比,最好有一种更简便的方法,因为文件数为1000。 非常感谢!解决方法
简短答案:不可以。
长答案:因为您使用Loader和URLRequests,所以每个资产都需要作为外部请求进行访问。您要求一种简单的方法来使它们指向SWF中的资产,而这是不可能的。但是,如果您稍微更改工作流程,则可能会找到一种在代码更改方面可以接受的方法,从长远来看将使您受益。
如果使用Flash Builder,FDT,FlashDevelop或IntelliJ之类的编辑器,则应探索SWC文件的许多用途。您可以在Flash IDE的发布设置中选中“导出为SWC”复选框,这将在您每次测试(Cmd + Enter)fla文件时创建一个SWC。您可以在所选的编辑器中导入该SWC文件,并将原始fla文件的任何符号引用为AS3类。编译时,Flash编译器将获取您的原始资产并将其嵌入到生成的SWF中,然后您可以将其分发到您喜欢的任何门户网站。 PNG和WAV是最简单的,对于.plist,您将必须使用ѭ0tag元标记。拥有一个SWF的好处还在于,您不需要预加载每个单独的资产,并且所有资产创建都在一个线程中完成。不再需要事件监听器来加载资产!
确保为使用SWC正确命名符号和链接属性。您可以使用标准包格式轻松找到资产,例如将符号命名为“ 1”或“ 2”。如果您正确设置了正确的
import fla.icons.GreyLogo
方向,则可以通过致电
var logo:GreyLogo = new GreyLogo();
这是一篇涉及更多内容的文章。如果我正确理解您的设置,将会花费很多工作,但是在将来的项目中可能会有所帮助。
干杯,
EP
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。