在项目中,有时候会遇到这样的情况。同一份代码,生成的swf使用的环境不一样。使用环境的不一样,使得他们的部分逻辑以及资源使用情况也不一样。虽然,你if…… else……可以做到逻辑的正确性。可是,这样会增加文件量。即使你没用某些资源。当然这里的资源是用embed标签嵌入的。

这个时候,编译变量就起到作用了。之所以叫编译变量,是因为这东东是在编译的时候使用的。相当于特殊的if吧。不过在这里有一点要注意,Flashbuilder 默认的sdk是AIR非flex,即使你编译变量设置正确了,不在编译变量内的embed标签包含的资源还是编译进去了。这个时候,如果想使用,就得将AIR SDK更换成Flex的。怎么更换了。用文本编辑器打开项目文件的“.actionScriptProperties”文件,将useFlashSDK=”true”改成useFlashSDK=”false”,然后重启FB.

编译变量是否起作用,可以将光标停在变量名上,看是否有手型出现。如果没有手型,则表示该段代码将不会被编译。

http://z.airycanon.cn/

http://www.cnblogs.com/sevenyuan/default.html?page=31

AS3 条件编译

http://www.macx.cn/thread-2135107-1-1.html