有时候我们需要使用区分不同平台来实现不同的逻辑,这个时候就用到宏定义了
基本语法
#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时,只有符合当前平台的代买才会显示正常的颜色,非当前平台的代码将显示灰色,这些代码将在部署到目标平台后生效