unity平台区分
这里就介绍几种常见的,也是便于使用的几种平台判断的方法。
1.先说第一种,也是我用的顺手的一个。利用RuntimePlatform判断,API上的解释是[The platform application is running. Returned by Application.platform.]
举个栗子:
if (Application.platform == RuntimePlatform.WindowsEditor) { }
一般常用的是三个平台,安卓[Android],苹果[IphonePlayer],Unity编辑器[WindowsEditor]。
2.在编辑器中的平台依赖编译[Platform Dependent Compilation],可以使用if…else…对不同平台的代码进行区分。
void Start()
{
#if UNITY_EDITOR
Debug.Log("这是编辑器模式。。。");
#endif
#if !UNITY_EDITOR
Debug.Log("这不是编辑器模式。。。");
#endif
#if UNITY_ANDROID
Debug.Log("这是安卓平台。。。");
#endif
#if UNITY_IPHONE
Debug.Log("这是iPhone平台。。。"); // 不好听,用IOS代替
#endif
#if UNITY_IOS
Debug.Log("这是IOS平台。。。");
#endif
#if UNITY_STANDALONE_WIN
Debug.Log("这是Windows平台。。。");
#endif
#if UNITY_STANDALONE_OSX
Debug.Log("这是OSX平台。。。");
#endif
}
3.在编译后生效。
if (Application.platform == RuntimePlatform.WindowsEditor)
{
Debug.Log("这是Windows编辑器模式。。。");
}
if (Application.platform == RuntimePlatform.IPhonePlayer) // 使用Unity切换Platform无法模拟
{
Debug.Log("这是iPhone平台。。。");
}
if (Application.platform == RuntimePlatform.Android)// 使用Unity切换Platform无法模拟
{
Debug.Log("这是安卓平台。。。");
}
最后,贴出官网的API,具体的平台在官网上都有介绍,官网地址:https://docs.unity3d.com/Manual/PlatformDependentCompilation.html