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里运行的。