Unity3D 多平台 预编译 宏定义
平台定义
UNITY_EDITOR 编辑器调用。
UNITY_STANDALONE_OSX 专门为Mac OS(包括Universal,PPC和Intelarchitectures)平台的定义。
UNITY_DASHBOARD_WIDGET Mac OS Dashboard widget (Mac OS仪表板小部件)。
UNITY_STANDALONE_WIN Windows 操作系统。
UNITY_STANDALONE_LINUX Linux的独立的应用程序。
UNITY_STANDALONE 独立的平台(Mac,Windows或Linux)。
UNITY_WEBPLAYER 网页播放器(包括Windows和Mac Web播放器可执行文件)。
UNITY_WII Wii游戏机平台。
UNITY_IPHONE iPhone平台。
UNITY_ANDROID Android平台。
UNITY_PS3 PlayStation 3。
UNITY_XBOX360 Xbox 360。
UNITY_NACL 谷歌原生客户端(使用这个必须另外使用UNITY_WEBPLAYER)。
UNITY_FLASH Adobe Flash。
判断Unity版本
也可以判断Unity版本,目前支持的版本
UNITY_2_6 平台定义为主要版本的Unity 2.6。
UNITY_2_6_1 平台定义的特定版本1的主要版本2.6。
UNITY_3_0 平台定义为主要版本的Unity 3.0。
UNITY_3_0_0 平台定义的特定版本的Unity 3.0 0。
UNITY_3_1 平台定义为主要版本的Unity 3.1。
UNITY_3_2 平台定义为主要版本的Unity 3.2。
UNITY_3_3 平台定义为主要版本的Unity 3.3。
UNITY_3_4 平台定义为主要版本的Unity 3.4。
UNITY_3_5 平台定义为主要版本的Unity 3.5。
UNITY_4_0 平台定义为主要版本的Unity 4.0。
UNITY_4_0_1 主要版本4.0.1统一的平台定义。
UNITY_4_1 平台定义为主要版本的Unity 4.1。
UNITY_4_2 平台定义为主要版本的Unity 4.2。
运行平台
//获得当前运行平台
Debug.Log("plat = " + Application.platform);
//可以获取到的平台类型
public enum RuntimePlatform
{
OSXEditor = 0,
OSXPlayer = 1,
WindowsPlayer = 2,
OSXWebPlayer = 3,
OSXDashboardPlayer = 4,
WindowsWebPlayer = 5,
WiiPlayer = 6,
WindowsEditor = 7,
IPhonePlayer = 8,
PS3 = 9,
XBOX360 = 10,
Android = 11,
NaCl = 12,
LinuxPlayer = 13,
FlashPlayer = 15,
}
示例
// JS
function Awake() {
#if UNITY_EDITOR
Debug.Log("Unity Editor");
#endif #if UNITY_IPHONE
Debug.Log("Iphone");
#endif #if UNITY_STANDALONE_OSX
Debug.Log("Stand Alone OSX");
#endif #if UNITY_STANDALONE_WIN
Debug.Log("Stand Alone Windows");
#endif
} // C#
using UnityEngine;
using System.Collections; public class PlatformDefines : MonoBehaviour {
void Start () { #if UNITY_EDITOR
Debug.Log("Unity Editor");
#endif #if UNITY_IPHONE
Debug.Log("Iphone");
#endif #if UNITY_STANDALONE_OSX
Debug.Log("Stand Alone OSX");
#endif #if UNITY_STANDALONE_WIN
Debug.Log("Stand Alone Windows");
#endif }
} // Boo
import UnityEngine class PlatformDefines (MonoBehaviour): def Start ():
ifdef UNITY_EDITOR:
Debug.Log("Unity Editor") ifdef UNITY_IPHONE:
Debug.Log("IPhone") ifdef UNITY_STANDALONE_OSX:
Debug.Log("Stand Alone OSX") ifdef not UNITY_IPHONE:
Debug.Log("not an iPhone")
文献资料
API地址:http://docs.unity3d.com/Documentation/Manual/PlatformDependentCompilation.html
Unity3D 多平台 预编译 宏定义的更多相关文章
- C中的预编译宏定义
可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一 ...
- linux, windows, mac, ios等平台GCC预编译宏判断
写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * window ...
- C++头文件中预编译宏的目的
C++头文件中预编译宏的目的 eg: #ifndef _FACTORY_H_#define _FACTORY_H_......#endif //~_FACTORY_H_ 防止头文件被重复包含,导致变量 ...
- GCC预编译宏查看
编译调试代码时,总是遇到要使用编译器预编译宏进行跨平台编译. gcc -E -dM -</dev/null 编译器版本 Thread model: posix gcc version 5.4.0 ...
- CL.exe的 /D 选项, Preprocessor Macro预处理器宏定义
在看"Inside COM"第10章的代码. MAKEFILE里面有几个标记我没看懂. 去网上搜也搜不到. /D_OUTPROC_SERVER_ /DWIN32 /DREGISTE ...
- Unity各平台内置宏定义
属性 方法 UNITY_EDITOR #define directive for calling Unity Editor scripts from your game code. UNITY_EDI ...
- C/C++跨平台的的预编译宏
我们在编译一些跨平台的程序的时候难免会遇到_WIN32 __linux__什么之类的SDK或者编译器环境预定义的宏.有很多,之前还分不清_WIN32 和WIN32的区别.不过这里还好有个列表,做个备 ...
- xcode 配置系统环境变量 Preporocessing 预编译宏的另一种写法, 系统的DEBUG 由来
在某些项目中看到一些环境变量类似宏的东西 比如叫ENVIRONMENT, 但发现还找不到具体这个宏是什么值, 那是因为他实在Preprocessing里配置了这个宏的值, 他能配置debug/rele ...
- C预编译宏
/* ============================================================================ Name : c_test001.c A ...
随机推荐
- 硅谷新闻1--引导界面GuideActivity
1.红点切换间距 RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) iv_red_point.getLayoutPa ...
- LinQ实战学习笔记(四) LINQ to Object, 常用查询操作符
这一篇介绍了下面的内容: 查询object数组 查询强类型数组 查询泛型字典 查询字符串 SelectMany 索引 Distinct操作符 排序 嵌套查询 分组 组连接 内连接 左外连接 交叉连接 ...
- HTML JavaScript简介
一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...
- Office版本差别引发的语法问题
由于没有源代码,今天反编译了一个基于.NET的dll类库,再次遇到office版本差异问题,所以把它记录下来. 在反编译时,需要Aspose.Cells 5.3.1(Aspose是一套.NET类库,其 ...
- Sharepoint增加修改密码功能
Sharepoint中没有自带的修改密码的功能. 如果使用的是AD验证,修改密码,只要修改域帐号的用户名密码就可以了.以下代码可以修改本机密码和域帐号密码. 做法是,添加一个webpart,做一个页面 ...
- 转:HTTP 1.1与HTTP 1.0的比较
原文地址:http://blog.csdn.net/elifefly/article/details/3964766 HTTP 1.1与HTTP 1.0的比较 一个WEB站点每天可能要接收到上百万的用 ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q45-Q47)
Question45You create and deploy a custom Web Part.You add the Web Part to a page and receive a run-t ...
- 卸载openfire
首先,确保你已经关掉了openfire打开终端 (在应用程序-->实用工具-->)输入以下命令sudo rm -rf /Library/PreferencePanes/Openfire.p ...
- SQL Server同步复制问题排查方法
1.应用复制的命令时在订阅服务器上找不到该行 解决方法:用系统存储过程sp_browsereplcmds(返回分发数据库中存储的可读版本复制命令的结果集,并将其用作诊断工具. 此存储过程在分发服务器上 ...
- Swing应用开发实战系列之一:自定义JdbcTemplate
笔者本人真正意义上接触编程开发是在2004年,最早用的就是VB,然后是Delphi等,后来转到.Net,中间断断续续还用过PowerBuilder等,无一例外,所研发设计的项目或系统都是WinForm ...