关于Flex Ant的相关注意事项

时间:2022-01-17 10:37:19

1、代码方面:

如果是Embed的方法,务必按以下方式写,注意反斜杠的位置。

在mxml文件中:

<mx:Image  source="@Embed('/cn/com/1.png')"/>  

在CSS文件中:

backgroundImage:Embed(source="/cn/com/1.png");

在AS文件中:

[Embed(source="/cn/com/1.png")]
public var zmouse : Class;

2、图片以及附件的处理方面:

如果是Embed进去的,这些就不需要处理了,那未打包的资源就是一个比较麻烦的地方,偶也没有找到比较好的方法,似乎只能一个个写,参考其提供的样例:

<compc fork="true"
output="${basedir}/${THEME_NAME}.swc">
<!-- If you change this, update ${local.playerglobal.version} above. -->
<target-player>10</target-player>
<jvmarg line="${compc.jvm.args}"/>
<include-classes>ArcadeClasses</include-classes>
<source-path path-element="${basedir}/src"/>
<library-path />
<external-library-path dir="${FLEX_HOME}/frameworks/libs">
<include name="player/${local.playerglobal.version}/playerglobal.swc"/>
<include name="framework.swc"/>
<include name="spark.swc"/>
<include name="textLayout.swc"/>
<include name="osmf.swc"/>
</external-library-path>
<include-file name="defaults.css" path="${basedir}/src/defaults.css"/>
<include-file name="assets/flex_skins.swf" path="${basedir}/src/assets/flex_skins.swf"/>
<include-file name="preview.jpg" path="${basedir}/src/preview.jpg"/>
<include-file name="metadata.xml" path="${basedir}/src/metadata.xml"/>
<locale/>
<accessible>true</accessible>
</compc>

3、样式的处理:

如果采用的动态加载样式 ,那么尽量将相关的库打包至样式的SWF中,否则可能会出现部分样式加载延迟的问题,关于static-link-runtime-shared-libraries的使用可以Google一下!

 <target name="buildcss" depends="init">
<mxmlc file="${SRC_DIR}/cn/com/egova/umgis/common/style/CustomStyle.css"
output="${DEPLOY_DIR}/cn/com/egova/umgis/common/style/CustomStyle.swf">
<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
</mxmlc>
</target>

4、关于文件大小

采用Ant打包的文件相比使用Flash Builder自动编绎生成的文件大概要小一半左右,这是因为其自动编译的文件为了避免出错,会将一些共享库打包至SWF中,因此会造成SWF庞大,但至于使用Ant打包后的是不是会有其他问题,暂时还没有验证。

参考资源:

http://www.petersheim.org/wiki/index.php/Flex_Ant_Task

http://blog.ityao.com/archives/751

http://mxcode.com/2010/11/flex-ant-file-sample/