一、跨平台宏定义
在Unity开发中,经常需要跨平台操作,而Unity自带了一些平台宏定义如下:
名称 | 描写叙述 |
UNITY_EDITOR | Unity编辑器 |
UNITY_STANDALONE_OSX | 专门为Mac OS(包括Universal,PPC和Intelarchitectures)平台的定义 |
UNITY_DASHBOARD_WIDGET | Mac OS Dashboard widget (Mac OS仪表板小部件)。 |
UNITY_STANDALONE_WIN | Windows系统 |
UNITY_STANDALONE_LINUX | LINUX的独立的应用程序 |
UNITY_STANDALONE | 独立的平台 (Mac, Windows or Linux). |
UNITY_WEBPLAYER | 网页播放器(包括Windows和Mac Web播放器可执行文件)。 |
UNITY_WII | Wii游戏机平台。 |
UNITY_IPHONE | 苹果系统 |
UNITY_ANDROID | 安卓系统 |
UNITY_PS3 | PlayStation 3 |
UNITY_XBOX360 | VBOX360系统 |
UNITY_NACL | 谷歌原生客户端(使用这个必须另外使用UNITY_WEBPLAYER) |
二、使用方法
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
private string platform = string.Empty;
void Start () {
DebugPlatformMesaage();
//获得当前运行平台
Debug.Log("plat = " + Application.platform);
}
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);
}
}