一直希望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和安卓的就压缩为传统的图片格式, 真正实现了多平台的最佳编译,最近这个方法百试百爽.