【Unity3D 灵巧小知识点】 | 使用宏定义和Application.platform判断运行平台

2022-05-10 09:19:59 浏览数 (1)

Unity 小科普

老规矩,先介绍一下 Unity 的科普小知识:

  • Unity是 实时3D互动内容创作和运营平台 。
  • 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
  • Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
  • 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!

Unity小知识点学习

平台#define指令

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

属性:

功能:

UNITY_EDITOR

从游戏代码调用Unity编辑器脚本的#define指令。

UNITY_EDITOR_WIN

Windows上编辑器代码的#define指令。

UNITY_EDITOR_OSX

Mac OS X上编辑器代码的#define指令

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

编译/执行Wii控制台代码的#define指令。

UNITY_IOS

编译/执行iOS平台代码的#define指令。

UNITY_IPHONE

已过时。改用UNITY_IOS。

UNITY_ANDROID

Android平台的#define指令。

UNITY_PS4

运行PlayStation 4代码的#define指令。

UNITY_SAMSUNGTV

执行三星电视代码的#define指令。

UNITY_XBOXONE

执行Xbox One代码的#define指令。

UNITY_TIZEN

Tizen平台的#define指令。

UNITY_TVOS

Apple TV平台的#define指令。

UNITY_WSA

通用Windows平台的#define指令。此外,NETFX_CORE是在针对.NET Core编译C#文件并使用.NET脚本后端时定义的。

UNITY_WSA_10_0

通用Windows平台的#define指令。另外,WINDOWS_UWP是在针对.NET Core编译C#文件时定义的。

UNITY_WINRT

与UNITY_WSA相同。

UNITY_WINRT_10_0

相当于UNITY_WSA_10_0

UNITY_WEBGL

WebGL的#define指令。

UNITY_FACEBOOK

Facebook平台的#define指令(WebGL或Windows独立版)。

UNITY_ADS

从游戏代码调用Unity Ads方法的#define指令。版本5.2及以上。

UNITY_ANALYTICS

从游戏代码调用Unity Analytics方法的#define指令。版本5.2及以上。

UNITY_ASSERTIONS

断言控制过程的#define指令。

使用宏定义和Application.platform判断运行平台

宏定义判断平台:

代码语言:javascript复制
        //Android平台
#if UNITY_ANDROID
        debug.log("Android");
#endif
 
        //苹果平台
#if UNITY_IPHONE
        debug.log("IOS");
#endif
        //Windows平台
#if UNITY_STANDALONE_WIN
        Debug.Log("Windows");
#endif

Application.platform判断平台:

代码语言:javascript复制
if (Application.platform == RuntimePlatform.Android)
        {
            Debug.Log("Android");
        }else if(Application.platform == RuntimePlatform.IPhonePlayer)
        {
            Debug.Log("IOS");
        }
        else if (Application.platform == RuntimePlatform.WindowsEditor)
        {
            Debug.Log("Window");
        }

两种使用代码判断使用平台的操作 这样我们就可以根据不同的平台执行不同的方法了!

0 人点赞