[AIR] as3 之条件编译多平台妙用

http://bbs.9ria.com/thread-418864-1-1.html

一直希望as3 可以支持条件编译,即满足A时编译函数1,满足B时则编译函数2。
最佳百度了之后,发现原来是可以实现的.
首先我要实现的是在windows, 安卓和IOS下的不同编译.
-define PLATFORM::条件 布尔值
在我的windows as3项目里设置编译参数 -define PLATFORM::WINDOWS true -define PLATFORM::IOS false -define PLATFORM::ANDROID  false
意思是满足WINDOS就编译,否则不编译
如果是ios或者安卓的移动项目,则这样设置 -define PLATFORM::WINDOWS false -define PLATFORM::IOS true -define PLATFORM::ANDROID  true
意思是满足IOS或者安卓就编译,否则不编译

然后在我的代码里写成这样

[Actionscript3] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
     
 
//如果满足WINDOS则编译这里
PLATFORM::WINDOWS{
                var full_imgByte:ByteArray=DataTo.getInstance().turn_BitmapData_to_ByteArrayOfJPEG_XR(bitmFull)
                var full_imgPath:String=Info_SignImage.FULL_IMG+"/"+fileName+".wdp"
            }
                 
//如果满足IOS或者安卓平台的就编译这里
                PLATFORM::IOS
            PLATFORM::ANDROID
                {
                    var full_imgByte:ByteArray=DataTo.getInstance().turn_BitmapData_to_ByteArrayOfJPEG(bitmFull)
                    var full_imgPath:String=Info_SignImage.FULL_IMG+"/"+fileName+".jpg"
                }  
                

很简单,我要实现的是如果是windos系统下的air就将图片压缩为微软的图片格式,如果是IOS和安卓的就压缩为传统的图片格式, 真正实现了多平台的最佳编译,最近这个方法百试百爽.

上一篇:并发编程之 CountDown 源码分析


下一篇:18. 星际争霸之php设计模式--观察者模式