Unity3D是一個跨平台的開發工具,支持的平台五花八門,常常開發一款游戲要發布到不同的平台,在不同的平台上會使用不同的代碼,難道要我們各平台分別使用一套代碼,單獨編譯一次嗎?當然不用了,呵呵。
Unity3D有一個功能叫平台依賴編譯(Platform Dependent Compilation),它可以讓我們簡單地使用if...else...對不同平台的代碼進行區分,當我們切換一個發布平台重新編譯時,Unity3D使用自動編譯相應代碼,從而省去了繁瑣的操作。
下邊舉一個例子:
function Awake() { #if UNITY_ANDROID Debug.Log("這里是安卓設備^_^"); #endif #if UNITY_IPHONE Debug.Log("這里是蘋果設備>_<"); #endif #if UNITY_STANDALONE_WIN Debug.Log("我是從Windows的電腦上運行的T_T"); #endif }
那么其它的平台怎么判斷呢?請見官方手冊。
要提醒一下的是,手冊里還有對Unity3D版本的判斷方法,和上邊一樣的方法哦!
另外Application.isEditor 和Application.isWebPlayer 也可以判斷程序是否是在Unity3D IDE里運行,或者是否在WebPlayer里運行的。