首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。
用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。
下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译!
接下来看看,我们怎么样使用条件编译来完成区分编译Debug版本和Release版本:
1、首先来看一段代码:
通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。
5、然后改一下编译参数,进行release编译
转自:http://www.xiaos8.com/article.asp?id=556
用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。
下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译!
什么是条件编译
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”。
1、首先来看一段代码:
package {
import flash.display.Sprite;
2、TestBuild有两个构造函数,不同的是一个构造函数上有CONFIG::debug,一个有CONFIG::release;
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(0x0000ff,1);
graphics.drawRect(0,0,100,100);
}
}
}
通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。
3、然后我们使用mxmlc命令行对这段代码进行debug编译
mxmlc src/TestBuild.as -define=CONFIG::debug,true -define=CONFIG::release,false -output bin-release/TestBuild.swf
4、得到一个swf文件,打开一看是红色正方形,的确是debug版本编译
5、然后改一下编译参数,进行release编译
mxmlc src/TestBuild.as -define=CONFIG::debug,false -define=CONFIG::release,true -output bin-release/TestBuild.swf
6、得到一个swf文件,打开一看是蓝色正方形,的确是release版本编译
转自:http://www.xiaos8.com/article.asp?id=556