Unity3D 多平台_预编译相关宏定义
http://www.cnblogs.com/zhaoqingqing/p/3510332.html
API地址:http://docs.unity3d.com/Documentation/Manual/PlatformDependentCompilation.html
平台定义
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_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,
}
Example
// 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")
Unity3D 多平台_预编译相关宏定义的更多相关文章
- #ifdef预编译相关用法
#ifdef预编译相关用法主要有:(1)#ifdef XXX executing the corresponding xxx code #endif(2)#ifdef XXX executing th ...
- Visual Studio 2013 配置多个Release版本,并为每个版本配置预编译的宏
最近开发过程中,需要将同一份工程编译成两个版本,分别为ReleaseA和ReleaseB. ReleaseB比ReleaseA少了部分功能,所以希望在编译的时候,根据不同的版本编译工程中相应的代码. ...
- Cmake 脚本对预处理器的宏定义
我们有些时候会在#if #ifndef 等预编译命令里面看到_WIN32等定义的宏.但是有些宏定义,你即使通过Visual Studio右键的go to definitions 和go to ...
- C 图像处理 颜色相关宏定义
很多年前整理的,像素处理的宏定义,包括r8g8b8到r5g6b5之间的相互转化,浮点数像素与整数值之间的相互转化,像素值的插值.取反等处理.具体没什么好说的,宏定义的代码还是很容易看的.这套东西对搞图 ...
- linux, windows, mac, ios等平台GCC预编译宏判断
写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * window ...
- Unity中各个平台的预编译的运用方式
1,unity中官方文档的一个操纵关键词 Platform Dependent Compilation 2,常用的预编译关键词 UNITY_EDITOR 编辑器调用.UNITY_STA ...
- C-基础:关于预编译以及宏
这是没有引入任何头文件时,如果使用"NULL",编译器会报错:没有定义NULL.此时可用下面代码定义. #undef NULL //#undef 是在后面取消以前定义的宏定义#if ...
- [转] 关于VS中区分debug与release,32位与64位编译的宏定义
在vs编程中,常常涉及到32位和64位程序的编译,怎么判断当前编译是32位编译还是64位编译?如何判断是debug下编译还是release下编译?因为之前用到,这里记录一下,省的忘了又要疯狂的goog ...
- c24--预编译,宏定义(带参数,不带参数)
// // main.c // 宏定义 #include <stdio.h> void test(); /* 预处理指令:在我们的文件翻译成0和1之前做的操作我们称之为预处理指令,一般以# ...
随机推荐
- 【WIN10】Bind、Binding與Converter的使用
Demo源碼下載:http://yunpan.cn/cHuCmI4NK4xwr 访问密码 8201 1.Bind Bind的使用方式是: <Button Content="{x:Bi ...
- 【BJOI2014】大融合【LCT】
闲着没事写篇题解 传送门 LCT维护子树的模板题 树链剖分中,子树可以用dfs序维护.但LCT你总不可能动态维护dfs序啊 LCT之所以不能直接维护子树,是因为LCT只能维护它的重儿子.我们把这棵子树 ...
- mof提权原理及实现
关于 mof 提权的原理其实很简单,就是利用了c:/windows/system32/wbem/mof/目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们的 ...
- textbox约束输入值问题解答
网上很多关于文本框只能输入数字的,今天又找了一遍,发现以前的写法居然有点问题! onkeypress="if (event.keyCode<48 || event.keyCode> ...
- css中!important的优先级问题
css中!important的优先级在主页面中写>在外部引用的css文件 之前我一直以为css的样式不管写在哪里只要加上!important那么它的优先级就是最高的,事实上并不是这样的,尤其在动 ...
- 搭建MSSM框架(Maven+Spring+Spring MVC+MyBatis)
https://github.com/easonjim/ssm-framework 先欠着,后续再进行讲解: 一.Spring内核集成 二.Spring MVC集成 三.MyBatis集成 四.代码生 ...
- 用matplotlib绘制带误差的条形图及中英文字体设置
#!/usr/bin/env python3 ## 以下是一个带误差条的条形图的例子,演示了误差条形图的绘制及中英文字体设置 import numpy as np import matplotlib ...
- B+树索引
结构上 B树中关键字集合分布在整棵树中,叶节点中不包含任何关键字信息,而B+树关键字集合分布在叶子结点中,非叶节点只是叶子结点中关键字的索引: B树中任何一个关键字只出现在一个结点中,而B+树中的关键 ...
- wget 下载文件重进行命名
wget在下载的时候就重命名的: wget -c "www.baidu.com" -O baidu.index.html 保存输出日至,可以使用: wget -c "ww ...
- C++ Tr1中的正則表達式
要使用正則表達式,首先要有类库支持,C++曾经不像Java或者C#有完整的类库使用,可是在Tr1中早已提供了正则库,仅仅是非常少被人们注意罢了 TR1中包括了一个正则库,来自Boost的 regex, ...