Bootstrap

Unity 代码判断不同平台的方法

Unity 代码判断不同平台的方法

Application.platform 是Unity引擎中一个静态属性,用于获取当前运行平台的类型。根据不同的平台类型,可以编写不同的代码分支,以实现跨平台的功能和适配。

在 Unity 中,Application.platform 可以返回以下几种类型:

  • RuntimePlatform.OSXEditor:macOS 编辑器
  • RuntimePlatform.WindowsEditor:Windows 编辑器
  • RuntimePlatform.LinuxEditor:Linux 编辑器
  • RuntimePlatform.OSXPlayer: macOS 独立程序
  • RuntimePlatform.WindowsPlayer:Windows 独立程序
  • RuntimePlatform.LinuxPlayer:Linux 独立程序
  • RuntimePlatform.WebGLPlayer:WebGL 程序
  • RuntimePlatform.Android:Android 应用
  • RuntimePlatform.IPhonePlayer:iOS 应用
  • RuntimePlatform.tvOS:tvOS 应用
  • RuntimePlatform.Switch:Nintendo Switch 游戏
  • RuntimePlatform.XboxOne:Xbox One 游戏
  • RuntimePlatform.PS4:PlayStation 4 游戏
  • RuntimePlatform.tvOS:tvOS 应用

示例:

if (Application.platform == RuntimePlatform.Android)
{
    // Android 平台下的逻辑处理
    Input.touchSupported = true;//支持触摸设备
}
else if (Application.platform == RuntimePlatform.IPhonePlayer)
{
    // iOS 平台下的逻辑处理
    AudioSettings.outputSampleRate = 44100;//设置数字音频质量的重要参数之一
}
else
{
    // 其他平台下的逻辑处理
    QualitySettings.vSyncCount = 1;//设置垂直同步
}

另一种方法:

Unity宏定义判断运行平台

//编辑器
#if UNITY_EDITOR

//Android平台
#elif UNITY_ANDROID
		debug.log("Android");
        
//苹果平台
#elif UNITY_IPHONE
		debug.log("IOS");
        

//Windows平台
#elif UNITY_STANDALONE_WIN
     	Debug.Log("Windows");
     	
#endif
//备注:unity会识别我们当前的环境是处于哪个平台
;