Unity多平台自定义宏和Scripting Define Symbols的使用
Posted 天生爱赞美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity多平台自定义宏和Scripting Define Symbols的使用相关的知识,希望对你有一定的参考价值。
API地址:http://docs.unity3d.com/Documentation/Manual/PlatformDependentCompilation.html
UNITY_EDITOR 编辑器调用。
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或Linux)。
UNITY_WEBPLAYER 网页播放器(包括Windows和Mac Web播放器可执行文件)。
UNITY_WII Wii游戏机平台。
UNITY_IPHONE iPhone平台。
UNITY_PS3 PlayStation 3。
UNITY_XBOX360 Xbox 360。
UNITY_NACL 谷歌原生客户端(使用这个必须另外使用UNITY_WEBPLAYER)。
UNITY_FLASH Adobe Flash
先给大家介绍两个常用到的宏 1.#region 直接上代码演示 [C#] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 |
using
UnityEngine;
using
System.Collections;
public
class
Test : MonoBehaviour
#region 收缩自如
int
index = 0;
void
MyFun()
#endregion
|
那region宏加上后是什么效果呢?我们来点下#region左边增加的 “—”号。
看到效果了把!很多行代码收缩在一行,并只显示了自己的注释。region宏可以让我们很轻松的去整理代码。 2.#if UNITY_ 根据运行设备来选择性执行某块代码。 [C#] 纯文本查看 复制代码 ?
1 2 3 4 5 6 |
#if UNITY_IPHONE
Debug.Log(
"UNITY_IPHONE"
);
#elif UNITY_ANDROID
Debug.Log(
"UNITY_ANDROID"
);
#elif UNITY_EDITOR
Debug.Log(
"UNITY_EDITOR"
);
#endif
|
这里区分了 iphone、安卓和编辑器三个平台,当然还有更多平台。 这个在做移动端时会经常用到。
介绍完Unity自带的宏后,我们来学习一下如何去自定义宏。 一、首先我们先了解一下自定义宏的作用 其实是类似于上面刚介绍的第二个宏,但我们不是区分平台,而是根据自己的定义去区分。啥叫根据自己定义区分那?按步骤操作完你就明白了。 二、比如我们先新建宏,宏的名称根据自己情况定,这里我们根据区分发布版本来定义宏,分别为“RELEASE”和“DEVELOP” 也就是我们想在开发模式下 去执行DEVELOP下的内容;在想要正式发布时 去执行RELEASE下的内容。 三、那么我们就可以这样来写: [C#] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |
using
UnityEngine;
using
System.Collections;
public
class
Test : MonoBehaviour
string
url =
string
.Empty;
// 服务器地址
void
Start()
#if DEVELOP
url =
"dev.s.taobao.com"
;
#elif RELEASE
Unity 平台依赖编译
|