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

[AIR] as3 之条件编译多平台妙用的更多相关文章

  1. 条件编译#ifdef的妙用详解_透彻

    这几个宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部 分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条 ...

  2. 条件编译#ifdef的妙用详解

    c语言中条件编译相关的预编译指令,包括  #define.#undef.#ifdef.#ifndef.#if.#elif.#else.#endif.defined. #define           ...

  3. [AIR] AS3读取txt文档

    package { import flash.display.Sprite; import flash.events.Event; import flash.filesystem.File; impo ...

  4. [AIR] AS3.0设置屏保功能

    package com.controls { import flash.desktop.NativeApplication; import flash.events.Event; import fla ...

  5. [AIR] AS3操作文件时报SecurityError: fileWriteResource 错的解决方法

    在用File操作(移动,删除等)或者写入文件时,以下写法会报错 var file:File =File.applicationDirectory.resolvePath("1.swf&quo ...

  6. [AIR] AS3读取本地文件夹中的文件

    import flash.filesystem.File; import flash.net.URLLoader; //var dir:File = File.desktopDirectory; // ...

  7. 如何判断平台工具集去做条件编译(VC++目录、预处理器定义、$(PlatformToolsetVersion))

    作者:zyl910 从VS2010开始,提供了一个平台工作集(Platform ToolSet)选项用于配制vc编译版本.到了VS2012,更是因为默认平台工具集不支持WindowsXP,导致经常需要 ...

  8. Flash平台的分析与RIA的趋势

    10月3号,Flash Player 11 和 AIR 3.0正式提供下载,一片安静.最近这两年来,关于Flash的新闻一向是以负面为主,先是 Silverlight 的挑战,然后是 iphone和i ...

  9. DarkStone - 跨平台移动应用开发之 Flex 的崛起

    我的好友Ds 发布一个flex的消息.我帮忙转发 DarkStone - 跨平台移动应用开发之 Flex 的崛起 (2013-08-20 22:28:32)     此文章由 周戈 (DarkSton ...

随机推荐

  1. strurts2入门

    MVC :struts2是一个经典开源的mvc框架.主要负责控制器(Controller)   处理请求特点: 核心控制器:  +Actions; 与ServletAPI解耦合: 非单例,线程安全. ...

  2. CodeSmith连接不上MySql数据库的解决办法

    下载地址是http://dev.mysql.com/downloads/mirror.php?id=403020 请先注册登录后才能下载mysql-connector-net-6.3.7.msi这个文 ...

  3. 计算c字符的长度,保证不超过2^30

    来自sqlite3源码 /* ** Compute a string length that is limited to what can be stored in ** lower 30 bits ...

  4. 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)

    上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下 ...

  5. objective-c系列-单例

    // 地球只有一个,所以声明一个地球对象就可以了,千万不能声明两个啊!同理,有时候一个类也有只能有一个对象的情况,例如服务器,只想存到一个里 // 面,这样子,下次才可以取出上次存的数据. //用全局 ...

  6. iOS开发 JSonKit does not support Objective-C Automatic Reference Counting(ARC)

    有使用JSonKit的朋友,如果遇到“JSonKit does not support Objective-C Automatic Reference Counting(ARC)”这种情况,可参照如下 ...

  7. iOS & Mac JSON To Model

    NSString * jsonPath=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Cont ...

  8. 转:JQuery.Ajax之错误调试帮助信息

    今天发现一篇讲Ajax比较好的文章,汇总下,作为自己的知识储备. 下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. typ ...

  9. markdown学习笔记 (一)

    ##类Atx形式标题 # H1标题(一个井号加文字) ### H3标题(三个井号加文字) ###### H6标题(6个井号加文字) 类setext ======== 一级标题(下行加若干个等号) == ...

  10. XML 学习介绍 收藏

    XML学习总结(一)——XML介绍 一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发 ...