Unity3D判断当前平台

2015年07月10日 13:04:07

官方文档:http://docs.unity3d.com/Manual/PlatformDependentCompilation.html

文档上有详细说明,我在这里再补充两点:

如果想判断多个条件,可以用 || 或 & 来组合

例如:

#if UNITY_IOS || UNITY_ANDROID
...//这里的代码在IOS和Android平台都会编译
#endif

#if UNITY_ANDROID && UNITY_EDITOR
...//这里的代码只有在发布设置设置的是Android,且在编辑器里运行时才会编译
#endif

还有一个我之前一直疑惑的误区:

一直以为这些平台判断只是真正在该平台上才会起作用,后来实践说明,只要在发布设置里切换到了该平台,就会起作用。其实这就是“在编译阶段起作用”的意义,是我之前对它理解不够深入。

例子说话:

#if UNITY_WEBPLAYER
//只要发布设置里切换到了WebPlayer平台,这里的代码就会被编译
#endif

#if UNITY_EDITOR
//当然,如果是在编辑器里测试,无论发布设置里是怎么设置的,这里的代码都会被编译
#endif

还有运行时判断平台的方法

API:http://docs.unity3d.com/ScriptReference/RuntimePlatform.html

上代码:

if(Application.platform == RuntimePlatform.WindowsWebPlayer)
{
//只有在windows系统的webplayer平台上才会执行
}

unity各平台判断条件

unity是跨平台的,一般都是在PC ,Andriod 和IOS用的比较多。 平台判断代码: #if UNITY_ANDROID Debug.Log("这里是安卓设备"); #endif #...
  • alayeshi
  • alayeshi
  • 2016年10月20日 15:23
  • 2260

Unity平台判断

本文原创发表在 http://wycode.cn/blog/ Unity 平台的判断包含编译时判断和运行时判断,总结如下: 编译时 #if UNITY_EDITOR Debug....
  • wayne305649490
  • wayne305649490
  • 2017年07月11日 15:05
  • 307

Unity判断手势触摸的类型 ,判断手势的滑动方向,并获取刚触摸以及触摸结束事的坐标

本章咱们一起来看下unity对有触摸手势做出的响应 单点触摸 Input.touchCount==1 移动触摸 Input.GetTouch(0).phase==TouchPhase.Moved 多点...
  • cjh19911112
  • cjh19911112
  • 2015年06月08日 10:32
  • 8970

Unity3D 判断所在平台

#ifUNITY_ANDROID         Debug.Log("Android");     #endif       #if UNITY_IPHONE         Debug....
  • yangwei19680827
  • yangwei19680827
  • 2014年10月22日 18:54
  • 2443

unity平台的预处理

在开发中,特别是unity的跨平台中,我们常常会在各个平台游走,如安卓版,苹果版,PC版......。在此不同的平台上,有可能我们须要做不同的操作。然而我们就能够用unity的自带的平台宏定义方式来做...
  • oSKyTonight
  • oSKyTonight
  • 2014年10月15日 15:14
  • 32231

Unity之一天一个技术点(三)---判断当前运行的平台

3:判断当前运行的平台 因为PC端的操控和移植到手游上的操控不同,所以要写两套操控方式。 方法一: 判断当前的平台 switch (Application.platform) ...
  • myk7694503
  • myk7694503
  • 2015年02月06日 13:17
  • 1682

Unity3D的SystemInfo类,获取运行设备硬件信息(CPU、显卡、类型等)可用于手机

转载请注明出处!   近期才发现Unity3D还有一个访问硬件设备信息的类SystemInfo。这么晚才发现,我也是醉了。今整理了一下这个类的相关内容。PS:个人整理,有不符的地方望大家指正。嘿嘿...
  • u010377179
  • u010377179
  • 2016年09月22日 09:20
  • 3834

Unity如何区分安卓、苹果设备是手机与平板?

#if UNITY_ANDROID float physicscreen = Mathf.Sqrt(Screen.width * Screen.width + Screen.height * Scre...
  • aiyan1111111
  • aiyan1111111
  • 2016年02月22日 15:34
  • 2816

unity3d中用incontrol检测输入设备切换

pc上同时插着手柄的情况下,巫师3的玩家一动键盘,操作提示立即变成键盘的,一动手柄,提示立马变成手柄的了。 我们的游戏用的incontrol插件做的多输入设备管理,也有这样的需求。我问过作者,没有直接...
  • shark926
  • shark926
  • 2017年07月07日 10:31
  • 291

Unity3D的SystemInfo类,用于获取运行设备硬件信息(CPU、显卡、类型等)

SystemInfo类中的静态变量: 中文显示: Rendering.CopyTextureSupport copyTextureSupport:(只读)支持多种复制纹理功能的情况。 s...
  • Rookie0518
  • Rookie0518
  • 2016年12月06日 13:54
  • 3168
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity3D判断当前平台
举报原因:
原因补充:

(最多只允许输入30个字)