Unity中的宏定义

有时候我们需要使用区分不同平台来实现不同的逻辑,这个时候就用到宏定义了
基本语法

#if UNITY_EDITOR_WIN ||UNITY_STANDALONE
        
#elif UNITY_ANDROID
        
#else

#endif

宏定义可以直接写在类中,也可以写在方法体中,工作方式和普通if else完全一致

以下为常用定义

  1. UNITY_EDITOR Unity编辑器中调用
    UNITY_EDITOR_WIN windows操作系统的编辑器
  2. UNITY_ANDROID 安卓平台
  3. UNITY_IPHONE 苹果平台。
  4. UNITY_STANDALONE 独立的平台(Mac,Windows或Linux)
    UNITY_STANDALONE_OSX Mac OS
    UNITY_STANDALONE_WIN Windows 操作系统
    UNITY_STANDALONE_LINUX Linux
  5. UNITY_WEBPLAYER 网页播放器 新版untiy 已经放弃这个平台
  6. UNITY_WEBGL WEBGL平台
  7. UNITY_SWITCH Switch平台
  8. UNITY_FLASH Adobe Flash

注意点:
1 如上方4中 如果只写

#if UNITY_STANDALONE
       
#endif

代码将会在 mac windows linux上都生效

2 使用vs时,只有符合当前平台的代买才会显示正常的颜色,非当前平台的代码将显示灰色,这些代码将在部署到目标平台后生效

你可能感兴趣的:(unity,unity)