Unity3d中脚本定义符号的使用 Scripting Define Symbols
发表于2017-07-16
调试信息在程序设计过程中的作用是至关重要的。如果游戏设计完成后。这些调试信息就不应该在程序运行过程中继续调用。
可以用过设置脚本定义符号来确定游戏运行时是否执行调试信息输出代码
using UnityEngine;
using System.Collections;
public class ShowDebugInfo : MonoBehaviour
{
void Start()
{
#if SHOW_DEBUG_MESSAGES
Debug.Log("Pos: " transform.position.ToString());
#endif
Debug.Log("Start funciton called");
}
}
Unity默认提供了一些预定义标签如:
UNITY_EDITOR : 编辑器模式下。
UNITY_STANDALONE:PC Mac Linux模型下。
UNITY_IPHONE:IOS模式下。
UNITY_ANDROID:ANDROID模式下。
还有很多预定义标签、大家可以在这里看到:http://docs.unity3d.com/Documentation/Manual/PlatformDependentCompilation.html
官方提供的标签属于比较大的范围标签,比如我希望在UNITY_ANDROID下面在写一些自定义的标签、类似 QQ UC CMCC这样的渠道标签该如何呢?如下图所示,ProjectSetting打包界面每个平台都会有Scripting Define Symbols这个选项,可以在这里添加每个平台下对应的自定义标签(多个标签用“;”号隔开),这里我设置的是Android平台,如果IOS也需要打这样的渠道标签那么也要在IOS页面Scripting Define Symbols选项处添加对应的标签。


