Unity3D是一个跨平台的开发工具,支持的平台五花八门,常常开发一款游戏要发布到不同的平台,在不同的平台上会使用不同的代码,难道要我们各平台分别使用一套代码,单独编译一次吗?当然不用了。

Unity3D有一个功能叫平台依赖编译(Platform Dependent Compilation),它可以让我们简单地使用if...else...对不同平台的代码进行区分,当我们切换一个发布平台重新编译时,Unity3D使用自动编译相应代码,从而省去了繁琐的操作。

下边举一个例子:

function Awake() {

#if UNITY_ANDROID

Debug.Log("这里是安卓设备^_^");

#endif

#if UNITY_IPHONE

Debug.Log("这里是苹果设备>_<");

#endif

#if UNITY_STANDALONE_WIN

Debug.Log("我是从Windows的电脑上运行的T_T");

#endif

}

那么其它的平台怎么判断呢?请见官方手册。

要提醒一下的是,手册里还有对Unity3D版本的判断方法,和上边一样的方法哦!

另外Application.isEditor 和Application.isWebPlayer 也可以判断程序是否是在Unity3D IDE里运行,或者是否在WebPlayer里运行的。

原文链接:http://bbs.9ria.com/thread-173907-1-1.html

转载于:https://www.cnblogs.com/qilinzi/archive/2013/02/23/2923624.html

Unity3D的Android移动之路之平台依赖编译相关推荐

  1. android 8.0 展讯平台系统编译问题点

    编译系统异常点 1. 如何编译参考邮件         1. 解压 idh.code.tgz 得到 idh.code 文件夹         2. 解压 conf-sharkle.tar.gz 得到 ...

  2. Android10.0 日志系统分析(四)-selinux、kernel日志在logd中的实现​-[Android取经之路]

    摘要:本节主要来讲解Android10.0 selinux.kernel日志在logd中的实现,包括LogAudit.LogKlog的源码分析 阅读本文大约需要花费15分钟. 文章首发微信公众号:In ...

  3. Android10.0 日志系统分析(三)-logd、logcat读写日志源码分析-[Android取经之路]

    摘要:本节主要来讲解Android10.0 logd.logcat读写日志源码内容 阅读本文大约需要花费20分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Andro ...

  4. Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]

    摘要:本节主要来讲解Android10.0 日志系统的架构分析,以及logd.logcat的初始化操作 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...

  5. Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]

    摘要:本节主要来讲解Android10.0 日志系统的logd.logcat相关指令说明.日志分类和常用日志属性 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Andro ...

  6. Android 10.0 PackageManagerService(三)APK扫描-[Android取经之路]

    摘要:上一节讲解了PKMS的 权限扫描,扫描/system/etc/permissions中的xml,存入相应的结构体中,供之后权限管理使用. 这一节主要来讲讲APK的扫描. 阅读本文大约需要花费15 ...

  7. Android 10.0 PackageManagerService(二)权限扫描-[Android取经之路]

    摘要:PackageManagerService在systemReady()后,进行了/system/etc/permissions中的各种xml进行扫描,进行相应的权限存储,供以后使用 阅读本文大约 ...

  8. Android 10.0 PackageManagerService(一)工作原理及启动流程-[Android取经之路]

    摘要:PackageManagerService是Android系统核心服务之一,在Android中的非常重要,主要负责APK.jar包等的管理. 阅读本文大约需要花费50分钟. 文章的内容主要还是从 ...

  9. Android10.0应用进程创建过程以及Zygote的fork流程-[Android取经之路]

    摘要:点击手机桌面图标,例如微信,它是如何启动的呢,让我们从系统源码级来一起分析. 阅读本文大约需要花费1小时. 文章的内容主要还是从源码进行分析,虽然又臭又长,但是如果想要学习Android系统源码 ...

  10. Android10.0系统启动之Launcher(桌面)启动流程-[Android取经之路]

    摘要:上一节我们讲完了Android10.0的ActivityManagerService的启动流程,在AMS的最后启动了Launcher进程,今天我们就来看看Launcher的真正启动流程. 阅读本 ...

最新文章

  1. 用Python预测收入,来看看你的收入到底应该是多少?
  2. 如果乔布斯还在,今天他65岁了
  3. Magic Leap 2实测出炉:视场角增大20度,重量减轻20%,透光率低至0.3%让AR特效更逼真...
  4. php mysql全能权威指南 pdf_《PHP+MySQL全能权威指南(配光盘)》怎么样_目录_pdf在线阅读 - 课课家教育...
  5. 自学python从零开始学_新手学习python-从零开始学习
  6. mysql 实时性能_Mysql 实时查看性能
  7. 注意!最新.Net Framework与Exchange 的兼容性问题
  8. 26.卷1(套接字联网API)---线程
  9. 【J2ME笔记】关于J2ME Image图片指定颜色透明化
  10. 适用于5G网络的SAF Spectrum Compact 频谱仪
  11. Linux正则表达式
  12. 高性能服务器设计——常用网络服务器设计模型
  13. linux下无线网卡做热点,用ArchLinux做wifi热点无线路由
  14. 电脑白屏,电脑白屏是怎么回事?是系统的原因还是
  15. 双11还没完,商家已经被退货“逼疯”了
  16. 手机app 与pc 软件测试区别,1,web测试,Android测试,Ios测试的共同点与
  17. 万字长文细说 Code Review 的正确姿势
  18. The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入
  19. 国产FlexRay系列产品即将上市,值得期待!
  20. SKY65723-81低噪声放大器前端模块 GPS / GNSS / BDS预过滤器

热门文章

  1. 金特会谈:有骨气的人,才会被人尊重
  2. 狐狸抓老鼠,为何东北向才会成功
  3. 简述RPL, DPL, CPL的区别与联系
  4. android go 测试,从Gradle在Android中进行JUnit测试:“程序包android.test不存在”
  5. java窗口布局_Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局
  6. 邮件服务器运维,什么是邮件服务器,邮件服务器详解
  7. 3G dual band 使用策略
  8. Libnet核心数据结构
  9. [python]上传文件验证
  10. Xcode不出错误提示,Indexing | Processing files