Flash拆分项目:load SWF的工程配置方案
2011-09-05 11:51
190 查看
swf1 load swf2,一般是客户端太大,需要拆分为各个模块时需要采用的解决方法。比如游戏可以把登陆与游戏拆开。
1.
方案:
两者在同一个项目。
缺点是必须用同一种UI库,比如两者都要FLEX,不可以一个fl一个flex。
一般要拆分的,第一个swf1要尽量小。
特点:
swf2可断点。
把swf2对应的as文件设为可运行程序,swf2更改,编译运行swf1,会自动重新编译swf2。不设可运行程序不行。
2.
方案:
两者在不同项目,无其他设置。
load("swf2/bin-debug/swf2.swf")。swf1.swf和swf2.swf在两个文件夹,如果本来准备发布到同一个文件夹,load代码需要修改或使用条件编译。
所以我们需要把swf2的输出文件夹从默认的bin-debug改到swf1项目的moduls文件夹(看你使用哪个作为moduls文件夹,可以是swf1的bin-debug)
特点:
swf2不可设断点
swf2更改,编译运行swf1,不会自动重新编译swf2。
3.
方案:
基于方案2扩展。
两者在不同项目。
设置swf1 项目属性-构建路径-源路径,添加 swf2的src目录。
需要改swf2 output。
特点:
swf2可设断点
不会自动重新编译swf2。
4.
方案:
基于方案3扩展。
两者在不同项目。
设置swf1 项目属性-构建路径-源路径,添加 swf2的src目录。
设置swf1 项目属性-模块,添加swf2对应的as或mxml文件。
如果只供swf1加载,则在”针对以下应用程序优化“中选择swf1对应的as或mxml文件。
load("swf1/bin-debug/swf2")。swf1.swf和swf2.swf在同一个文件夹,load代码不用改了。
这种方案相当于将swf2放swf1项目里编译了,有点类似方案1,但是swf2还能作为一个独立的项目存在。
需要把swf2依赖的库文件加入swf1。这点比较不好,不过只要swf1不引用这些库,swf1大小不会改变。
但是如果swf2是flex项目,就要依赖mx和spark的一些库。如果swf1本来是纯as项目,就必须要吧swf1项目设为Flex项目。
设为flex项目,只是为了让swf1引用库,但flex项目是还会强迫swf1不能设as文件为可运行文件,这就和方案1有同样的缺点了。
特点:
swf2可设断点
会自动重新编译swf2。
5.
方案:
基于方案2扩展
两者在不同项目
设置swf1 项目属性-项目引用,添加 swf2项目。
需要改swf2 output。
特点:
swf2可设断点
会自动重新编译swf2。
http://livedocs.adobe.com/flex/3/html/help.html?content=creating_modules_2.html
swf编译时,对于主程序没有用到的类,没有import的类,不会编译进去。swc是所有都编译进去。
所以swf1如果load swf2,无法通过loaderInfo.applicationDomain.getDefinition获得swf2中没有用到的类。
使用另一个工程的类有3种方式
load 另一个工程的swf,要保证那个类在工程中有使用。
设置项目属性-构建路径-源路径,直接用不load。
把另一个工程设为swc。
1.
方案:
两者在同一个项目。
缺点是必须用同一种UI库,比如两者都要FLEX,不可以一个fl一个flex。
一般要拆分的,第一个swf1要尽量小。
特点:
swf2可断点。
把swf2对应的as文件设为可运行程序,swf2更改,编译运行swf1,会自动重新编译swf2。不设可运行程序不行。
2.
方案:
两者在不同项目,无其他设置。
load("swf2/bin-debug/swf2.swf")。swf1.swf和swf2.swf在两个文件夹,如果本来准备发布到同一个文件夹,load代码需要修改或使用条件编译。
所以我们需要把swf2的输出文件夹从默认的bin-debug改到swf1项目的moduls文件夹(看你使用哪个作为moduls文件夹,可以是swf1的bin-debug)
特点:
swf2不可设断点
swf2更改,编译运行swf1,不会自动重新编译swf2。
3.
方案:
基于方案2扩展。
两者在不同项目。
设置swf1 项目属性-构建路径-源路径,添加 swf2的src目录。
需要改swf2 output。
特点:
swf2可设断点
不会自动重新编译swf2。
4.
方案:
基于方案3扩展。
两者在不同项目。
设置swf1 项目属性-构建路径-源路径,添加 swf2的src目录。
设置swf1 项目属性-模块,添加swf2对应的as或mxml文件。
如果只供swf1加载,则在”针对以下应用程序优化“中选择swf1对应的as或mxml文件。
load("swf1/bin-debug/swf2")。swf1.swf和swf2.swf在同一个文件夹,load代码不用改了。
这种方案相当于将swf2放swf1项目里编译了,有点类似方案1,但是swf2还能作为一个独立的项目存在。
需要把swf2依赖的库文件加入swf1。这点比较不好,不过只要swf1不引用这些库,swf1大小不会改变。
但是如果swf2是flex项目,就要依赖mx和spark的一些库。如果swf1本来是纯as项目,就必须要吧swf1项目设为Flex项目。
设为flex项目,只是为了让swf1引用库,但flex项目是还会强迫swf1不能设as文件为可运行文件,这就和方案1有同样的缺点了。
特点:
swf2可设断点
会自动重新编译swf2。
5.
方案:
基于方案2扩展
两者在不同项目
设置swf1 项目属性-项目引用,添加 swf2项目。
需要改swf2 output。
特点:
swf2可设断点
会自动重新编译swf2。
http://livedocs.adobe.com/flex/3/html/help.html?content=creating_modules_2.html
swf编译时,对于主程序没有用到的类,没有import的类,不会编译进去。swc是所有都编译进去。
所以swf1如果load swf2,无法通过loaderInfo.applicationDomain.getDefinition获得swf2中没有用到的类。
使用另一个工程的类有3种方式
load 另一个工程的swf,要保证那个类在工程中有使用。
设置项目属性-构建路径-源路径,直接用不load。
把另一个工程设为swc。
相关文章推荐
- Xcode中工程配置后台运行的项目-- Required background modes
- 推荐:洛阳市政府投资项目管理代建项目管理-GOVPM政府代建工程项目管理信息化方案
- iOS开发:给项目工程里面添加Podfile配置文件,以及CocoaPods的简单使用
- 创建web工程Spring配置文件找不到问题解决方案
- 项目工程里一些xml配置
- Flash SWF 包含一个声音项目的多个副本的解决办法
- PlayFramework的安装和配置以及向eclipse导入项目工程
- 工程拆分成多个EXE的方案.
- Vue.js项目API、Router配置拆分实践
- 项目工程server下配置外部jar包
- [置顶] 百度地图SDK使用及配置到自己的工程项目中
- 项目实战:javaWeb工程中web.xml的基本配置解析
- eclipse 在weblogic部署的工程项目开启远程调试remote config eclipse远程调试配置
- 大容量串行e-Flash的FPGA配置方案 转载
- 软件工程团队项目方案(三):Academic Search论文电子书架
- VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案
- Vue项目组件化工程开发实践方案
- 项目中spring事务管理配置分析与修改方案
- 项目中配置文件优化方案
- maven创建web工程Spring配置文件找不到问题解决方案