区分平台是个非常实用的功能,比如手游开发中包体安卓端和苹果端大部分内容都相同,只有如SDK一类的不同,我们就可以通过区分平台执行不同代码省去建分支版本管理的麻烦。或者有些代码需要在编辑器中执行发布版本又不需要执行也可以通过这种方法实现。
1.通过宏定义区分平台 看下面的案例即可,跟if语句用法一致,注意结束要写#endif。 全平台参数
private void Start()
{
#if UNITY_EDITOR
Debug.Log("现在是编辑器");
#elif UNITY_ANDROID
Debug.Log("现在是ANDROID");
#elif UNITY_IOS
Debug.Log("现在是IOS");
#else
Debug.Log("其他平台");
#endif
}
如果多个条件用&&或||连接即可,比如#if UNITY_IOS || UNITY_ANDROID
,意味IOS或Android皆可。
2.用Application.platform获取当前平台
switch (Application.platform)
{
case RuntimePlatform.WindowsEditor:
Debug.Log("PC");
break;
case RuntimePlatform.Android:
Debug.Log("Android");
break;
case RuntimePlatform.IPhonePlayer:
Debug.Log("IOS");
break;
}