2010
4-19
首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。
用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。
下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译!接下来看看,我们怎么样使用条件编译来完成区分编译Debug版本和Release版本:
1、首先来看一段代码:
通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。3、然后我们使用mxmlc命令行对这段代码进行debug编译
5、然后改一下编译参数,进行release编译
OK,此文讲完了,你看懂了吗?不懂请留言
评论Feed: http://www.xiaos8.com/feed.asp?q=comment&id=556
用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。
下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译!
什么是条件编译
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”。
1、首先来看一段代码:
package {
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);
}
}
}
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版本编译OK,此文讲完了,你看懂了吗?不懂请留言
[最后修改由 sunbright, 于 2010-04-19 12:05:40]
评论Feed: http://www.xiaos8.com/feed.asp?q=comment&id=556
快速浏览
类别
标题
评论/流量
日期


好东西,转走了啊


- 查看svn更新内容以及最新状态(实时更新)
- 查看框架API文档(09.6.15更新)
- 查看框架代码(09.4.20更新)
框架暂停开发,且没有完全竣工,目前只能使用air包和library包!