首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。
用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。
下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译!
接下来看看,我们怎么样使用条件编译来完成区分编译Debug版本和Release版本:
1、首先来看一段代码:
import flash.display.Sprite;
public class TestBuild extends Sprite
{
CONFIG::debug
public function TestBuild()
{
graphics.beginFill(0xff0000,1);
graphics.drawRect(0,0,100,100);
}
CONFIG::release
public function TestBuild()
{
graphics.beginFill(0×0000ff,1);
graphics.drawRect(0,0,100,100);
}
}
}
2、TestBuild有两个构造函数,不同的是一个构造函数上有CONFIG::debug,一个有CONFIG::release;
通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。
3、然后我们使用mxmlc命令行对这段代码进行debug编译
4、得到一个swf文件,打开一看是红色正方形,的确是debug版本编译
5、然后改一下编译参数,进行release编译
6、得到一个swf文件,打开一看是蓝色正方形,的确是release版本编译