Unity 预编译相关宏定义 (如:UNITY_EDITOR)-Unity3D判断所在平台

简介

Unity包含一个称为Platform Dependent Compilation的功能。这包含一些预处理器指令,可让您对脚本进行分区,以便为受支持的平台之一专门编译和执行一段代码。

你可以在Unity编辑器中运行这个代码,这样你就可以专门为你的目标平台编译代码并在编辑器中测试它!

平台#define指令

Unity支持脚本的平台#define指令如下:

属性:功能:
UNITY_EDITOR#define指令,用于从游戏代码中调用Unity编辑器脚本。
UNITY_EDITOR_WINWindows上的编辑器代码的#define指令。
UNITY_EDITOR_OSX#define指令,用于Mac OS X上的编辑器代码。
UNITY_STANDALONE_OSX#define指令,用于专门针对Mac OS X(包括Universal,PPC和Intel体系结构)编译/执行代码。
UNITY_STANDALONE_WIN#define指令,用于专门为Windows独立应用程序编译/执行代码。
UNITY_STANDALONE_LINUX#define指令,用于专门为Linux独立应用程序编译/执行代码。
UNITY_STANDALONE#define指令,用于为任何独立平台(Mac OS X,Windows或Linux)编译/执行代码。
UNITY_WII#define指令,用于为Wii控制台编译/执行代码。
UNITY_IOS#define指令,用于为iOS平台编译/执行代码。
UNITY_IPHONE不推荐使用。请改用UNITY_IOS
UNITY_ANDROID适用于Android平台的#define指令。
UNITY_PS4#define运行指令 的PlayStation 4码。
UNITY_XBOXONE#define指令执行 Xbox One码。
UNITY_TIZENTizen平台的#define指令。
UNITY_TVOS适用于Apple TV平台的#define指令。
UNITY_WSA

#define指令用于 通用Windows平台

此外,当针对.NET Core和使用.NET编译C#文件时,将定义NETFX_CORE。脚本后端

UNITY_WSA_10_0适用于通用Windows平台的#define指令。此外,针对.NET Core编译C#文件时,还定义WINDOWS_UWP
UNITY_WINRTUNITY_WSA相同。
UNITY_WINRT_10_0相当于UNITY_WSA_10_0
UNITY_WEBGL#define指令用于 WebGL
UNITY_FACEBOOK适用于Facebook平台(WebGL或Windows独立)的#define指令。
UNITY_ADS#define指令,用于从游戏代码中调用Unity Ads方法。5.2及更高版本。
UNITY_ANALYTICS#define指令,用于调用Unity 分析工具 游戏代码中的方法。5.2及更高版本。
UNITY_ASSERTIONS#define指令用于断言控制过程。

测试用例

JS测试代码如下:

// 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#测测试代码如下:

// C#
using UnityEngine;
using System.Collections;
 
public class PlatformDefines : MonoBehaviour {
  void Start () {
 
    #if UNITY_EDITOR
      Debug.Log(" --- Unity Editor");
    #endif
    
    #if UNITY_IOS
      Debug.Log(" --- Iphone");
    #endif
 
    #if UNITY_STANDALONE_OSX
    Debug.Log(" --- Stand Alone OSX");
    #endif
 
    #if UNITY_STANDALONE_WIN
      Debug.Log(" --- Stand Alone Windows");
    #endif
  }          
}

官网的文档链接和截图

https://docs.unity3d.com/2019.1/Documentation/Manual/PlatformDependentCompilation.html

Unity 宏定义查找
Unity 预编译相关宏定义

 

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值