加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash拆分项目:load SWF的工程配置方案

发布时间:2020-12-15 06:50:40 所属栏目:百科 来源:网络整理
导读:swf1 load swf2,一般是客户端太大,需要拆分为各个模块时需要采用的解决方法。比如游戏可以把登陆与游戏拆开。 1. 方案: 两者在同一个项目。 缺点是必须用同一种UI库,比如两者都要FLEX,不可以一个fl一个flex。 一般要拆分的,第一个swf1要尽量


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种方式

  1. load? 另一个工程的swf,要保证那个类在工程中有使用。
  2. 设置项目属性-构建路径-源路径,直接用不load。
  3. 把另一个工程设为swc。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读