Unity平台的预处理

一、跨平台宏定义

在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);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章