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. Node异步

    一 Node异步工作原理 Node.js 异步编程的直接体现就是回调,回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数. 二 同步代码示例 先建立 ...

  2. 【原】iOS动态性(二):运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

  3. Snort - manual 笔记(四)

    1.7 Basic Output Snort可以做很多任务, 并且在任务完成后输出很多有用的统计信息. 一些不用说明就可以看懂, 其他的总结在这里, 不过只是一些基本的 1.7.1 Timing St ...

  4. 高性能JS笔记3——DOM编程

    一.访问与修改DOM DOM和JS 相当于两个岛屿,访问操作的次数越多,要交的过路费越多,对性能产生很大影响. 减少访问DOM的次数,把运算尽量留在JS端操作. 二.innerHTML 对比 DOM ...

  5. <转>iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!

    原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新   获取"产品付费数量等于0 ...

  6. iOS Unicode和汉字互转

    //unicode转中文 NSString* strA = [@"%E4%B8%AD%E5%9B%BD"stringByReplacingPercentEscapesUsingEn ...

  7. 【代码笔记】iOS-利用图片序列创建动态图片效果

    一,效果图. 二,代码. RootViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional se ...

  8. android 进程间通信数据(一)------parcel的起源

    关于parcel,我们先来讲讲它的“父辈” Serialize. Serialize 是java提供的一套序列化机制.但是为什么要序列化,怎么序列化,序列化是怎么做到的,我们将在本文探讨下. 一:ja ...

  9. WPF学习之路(三) 属性与依赖

    类型是DependencyProperty的属性是依赖属性 依赖属性不同于普通的.Net属性,类似于一个计算过程,根据依赖的值得到最终值. 为什么引入依赖属性: MSDN原文 One of the p ...

  10. Harrypotter

    #include<iostream> using namespace std; int main() { ]={}; int a,b,c,d; cout<<"请输入总 ...