这一篇要学的是unity平台预处理,对这一块还不是很了解的同学可以看一下,加深一下自己的印象。
在开发中,特别是unity的跨平台中,我们常常会在各个平台游走,如安卓版,苹果版,PC版......。在此不同的平台上,有可能我们须要做不同的操作。然而我们就能够用unity的自带的平台宏定义方式来做平台的推断。Unity帮我们定义了例如以下平台预处理:
- using UnityEngine;
- using System.Collections;
- public class Recompile : MonoBehaviour
- {
- private string platform = string.Empty;
- // Use this for initialization
- void Start()
- {
- DebugPlatformMesaage();
- }
- void DebugPlatformMesaage()
- {
- #if UNITY_EDITOR
- platform = "hi,大家好,我是在unity编辑模式下";
- #elif UNITY_XBOX360
- platform="hi,大家好,我在XBOX360平台";
- #elif UNITY_IPHONE
- platform="hi,大家好,我是IPHONE平台";
- #elif UNITY_ANDROID
- platform="hi,大家好,我是ANDROID平台";
- #elif UNITY_STANDALONE_OSX
- platform="hi,大家好,我是OSX平台";
- #elif UNITY_STANDALONE_WIN
- platform="hi,大家好,我是Windows平台";
- #endif
- Debug.Log("Current Platform:" + platform);
- }
- }
上面假设我是在Editor状态下的话,就能看见打印出:
我们也能够自定义宏定义,在PlayerSetting中定义:
- //新加入的内容
- #if CUSTOM_ITF
- customMsg = "我自己定义了预编译";
- #endif
- Debug.Log(customMsg);
然后我们执行看下,你就能在控制台看见我们输出的信息了:
除了这些,unity中还有各个版本号的宏定义,一般开发插件的大牛都会用到。