flex – 强制SWC中所有类的编译时链接
发布时间:2020-12-15 02:16:39 所属栏目:百科 来源:网络整理
导读:使用Flash CS4,我正在制作一个有十几个声音和几首音乐曲目的游戏.为了减少发布/编译时间,我将声音和音乐移动到(外部)SWC中,该SWC位于项目的“库路径”中.这有效,但有一点需要注意…… 在我将资产外部化之前,我通过使用getDefinitionByName获取类来动态实例化
使用Flash CS4,我正在制作一个有十几个声音和几首音乐曲目的游戏.为了减少发布/编译时间,我将声音和音乐移动到(外部)SWC中,该SWC位于项目的“库路径”中.这有效,但有一点需要注意……
在我将资产外部化之前,我通过使用getDefinitionByName获取类来动态实例化嵌入声音的Sound对象. // something like... var soundSubClass:Class = Class(getDefinitionByName(soundClassName)); var mySound:Sound = new soundSubClass(); 但是现在它们位于外部SWC中,我需要对这些类进行“具体”引用,以便像这样加载它们,否则它们不包含在已发布的SWF中,并且当getDefinitionByName尝试时会出现运行时错误得到一个不存在的类. 所以,我的问题是:在Flash Professional CS4中,有没有办法强制包含库的资产,无论它们是否静态链接? FlashDevelop有一个编译器选项“SWC Include Libraries”,这正是我想要的,与“SWC Libraries”选项不同. “SWC包含库”选项的描述是“将SWC文件中的所有类链接到生成的应用程序SWF文件,无论它们是否被使用.” (另外,对我来说重要的是所有资产都包含在一个已编译的SWF中.在运行时链接不是我想要的.) 解决方法
不幸的是,我不这么认为.我希望这在CS5中得到修复,但我不会赌它…
当前(加重)标准是在SWC中有一个清单类,它引用库中其余部分的所有根类: public class MyLibManifest { public static function manifest():void { var class1:Class = Class1; var class2:Class = Class2; // etc... } } 然后,在你的主要.fla …的某个地方…… import com.mylibrary.MyLibManifest; ... var myLibrary:Class = MyLibManifest; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 【已解决】VB Active控件使用中遇到的无法认证问题
- ruby-on-rails – 模拟has_many:通过Mongoid
- c# – DateTimePicker显示今天的日期而不是显示其实际值
- 播放无法连接到(PostgreSQL)数据库[??默认]
- cocos2dx 使用 crypto++
- ruby-on-rails – Ruby Enterprise Edition与Matz’Ruby
- ruby-on-rails – Solidus安装失败
- Flex和java通信
- ssm框架+前端ajax登录,解决登录后跳转回原链接问题
- HttpRequest.ServerVariables vs HttpRequest.UserAgent Pr