Additional compiler arguments compiler directive(编译条件)
2008-10-11 14:55 宝宝合凤凰 阅读(1637) 评论(0) 收藏 举报
注意Additional compiler arguments这一行,这通常被称为compiler directive(编译条件),它用来给编译器一些附加命令来生成SWF文件。一般情况下,你很少需要去改动它。
-locale en_US是默认的条件,它告诉编译器代码的区域现在是US English(英语),当然,假如你安装的时候选择了不同语言这里也会不同。
3、把这里的编译条件改为:-keep-generated-actionscript,注意不要写错了。
点击”OK”。
在src文件夹下会多出一个generated文件夹

compiler directive(编译条件)
配置文件
Flex程序,和Flash程序一样,是以SWF文件形式运行的。SWF意味着一种瘦客户端文件形式,它是由ActionScript类组成的一种二进制文件,假如你打开它,你会发现除了除了一堆0和1它什么也没有。
用来读取这种二进制文件的是Flash Player(Flash 播放器),是以用户当前浏览器的一个插件的形式存在的。
编译过程中,ActionScript类被编译为二进制的SWF文件,但是只把SWF文件传到服务器端是不够的,客户端需要调用XHTML文件,当XHTML文件由客户端的浏览器加载后,它将发送SWF文件所需的参数给Flash播放器,所请求的SWF文件将被下载到客户端,由Flash播放器播放出来。
那你可能就要问那我们该怎么做呢?建立一个XHTML文件吗?
Flex Builder会自动帮我们解决这个问题的。
跳转到Flex的导航视图,展开bin-debug文件夹,如图2-28:
当你保存程序的时候,你程序运行时所有需要的文件都会放到bin-debug文件夹去,你只需要把这个文件夹中的文件上传到服务器上,你的程序就可以运行了。
这些文件包括你程序的XHTML和SWF文件,一个用来检查你Flash播放器版本的SWF文件,一个用来记录你浏览器历史记录的历史文件,和一些用来和浏览器交互的JavaScript文件,Flex Builder会自动为你建立这些文件,假如你没有收到错误信息,那说明它们已经通过了调试。
PS:实际上,你可以不上传debug文件夹中的文件到服务器上,因为它不是运行时必须的文件,不过如果你上传了也没有什么影响。
我们在本书的后面部分会作更加详细的介绍。
生成的ActionScript代码
我在本章开头的部分已经说过,所有的代码最后都会被转为ActionScript代码。你可以看到所有的生成代码,如果你很熟练的话,还可以对它做一些必要的调整。
虽然我告诉了你如果看到生成代码,但是我强烈建议如果你不是很熟悉的话不要去修改它,不然的话一个小小的改动都有可能造成大问题。
1、在菜单上选择Project->Properties打开属性窗口,如图2-29:
2、选择Flex Compiler选项,如图2-30:
注意Additional compiler arguments这一行,这通常被称为compiler directive(编译条件),它用来给编译器一些附加命令来生成SWF文件。一般情况下,你很少需要去改动它。
-locale en_US是默认的条件,它告诉编译器代码的区域现在是US English(英语),当然,假如你安装的时候选择了不同语言这里也会不同。
3、把这里的编译条件改为:-keep-generated-actionscript,注意不要写错了。
4、点击”OK”。
在src文件夹下会多出一个generated文件夹,如图2-31:
你可以看到,这个简单的程序为实现各类任务生成了近30个ActionScript文件。假如你双击任意一个文件,你将会看到如图2-32的界面:
谁会关心这样的代码手工怎么去生成呢?
5、返回到编译条件设置,点击Project->Properties,把编译条件设回为-locale en_US。
6、关闭你打开了的ActionScript文件。
7、在导航窗口中选中generated文件夹。
8、选择删除。
你的程序的运行与先前完全一样。
总结
在本章中,你对Flex 和 Flex Builder有了一个初步的了解,还建立了一个简单的程序,甚至了解了一点点后台的工作。
现在,你已经具备了一些Flex环境的基本知识,我们从下一章将开始讲述Flex的核心部分:ActionScript脚本。我已经反复强调过了,所有的Flex代码最后都会转为ActionScript。
好,让我们开始吧。
本文来源于Sunnyeye Studio http://blog.sunnyeye.biz , 原文地址: http://blog.sunnyeye.biz/?p=273
浙公网安备 33010602011771号