unity #if 的变量定义及用法

分类: unity3d |
游戏中,有时要测试。例如,将玩家血量调到最高,钱最高,
我们可以用一个类,来定义几个变量,
写代码时,可以写成
if( abc)
{
}
else
{
}
但是,这么写,有一个问题,
那就是,我们的代码中,编译后,包含了
A 部分 和 B 部分,
但是,运行时, 实际上要么运行A,要么运行B,
这就像是,我们去田老师点餐,
要了两份,花了两份的钱,但是,
我们却只能选择一份来吃。
这里,可以用另一种方式来解决,
就是预定义,
这里,编译器会直接判断哪部分应该编译,哪部分不应该编译。
那么,这个 PLAYER_HP_MAX 变量是在哪里定义的呢?
在这里,
这里,要注意的是,你现在选择的是哪个平台,
在PlayerSettings中, other settings 中,可以找到 Script Define
Symbols,
假如我们想要添加多个呢?
用 分号 ";"分隔就可以,
http://s6/mw690/005N7Rnmzy7bZgJBWN735&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />
假如,我们想要将 MONEY_MAX 这个值 变为 false,
假如,我们想要将 MONEY_MAX 这个值 变为 false,
可以在其定义的前面,加一个 "/"号 就可以
这样编写,非常清晰,在频繁的修改时,非常适用。
不过,什么东西还是有个度,
就像是,一台机器,
有5,6个开关的时候,哪个开关做什么,我们还能记得清楚,
增加到 20个开关,而且,各个开关之间又有某种关系时,
我们很容易犯错,而且,也很容易让人迷惑,
增加到50个开关时,还没等调试,人已经泄气了,太复杂了。
前一篇:unity 发送消息