加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

unity #if 的变量定义及用法

(2017-06-19 10:24:01)
分类: unity3d

游戏中,有时要测试。例如,将玩家血量调到最高,钱最高,

我们可以用一个类,来定义几个变量,

写代码时,可以写成 

if( abc)
{
   A 部分
}
else 
{
   B 部分
}

但是,这么写,有一个问题,

那就是,我们的代码中,编译后,包含了 

A 部分 和 B 部分,

但是,运行时, 实际上要么运行A,要么运行B,

这就像是,我们去田老师点餐,

要了两份,花了两份的钱,但是,

我们却只能选择一份来吃。

这里,可以用另一种方式来解决,

就是预定义,

http://s5/mw690/005N7Rnmzy7bZgsiIAc64&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />

这里,编译器会直接判断哪部分应该编译,哪部分不应该编译。

那么,这个 PLAYER_HP_MAX 变量是在哪里定义的呢?

http://s3/mw690/005N7Rnmzy7bZgxl35872&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />

在这里,

http://s2/mw690/005N7Rnmzy7bZgA3ibT11&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />

这里,要注意的是,你现在选择的是哪个平台,

http://s9/mw690/005N7Rnmzy7bZgDaYNWe8&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />

在PlayerSettings中, other settings 中,可以找到 Script Define Symbols,

假如我们想要添加多个呢?

用 分号 ";"分隔就可以,

http://s15/mw690/005N7Rnmzy7bZgIIX6Kae&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />

http://s6/mw690/005N7Rnmzy7bZgJBWN735&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />
假如,我们想要将 MONEY_MAX 这个值 变为 false,

可以在其定义的前面,加一个 "/"号 就可以

http://s10/mw690/005N7Rnmzy7bZgOoobL59&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />

http://s16/mw690/005N7Rnmzy7bZgP9M0D8f&690#if 的变量定义及用法" TITLE="unity #if 的变量定义及用法" />


这样编写,非常清晰,在频繁的修改时,非常适用。

不过,什么东西还是有个度,

就像是,一台机器,

有5,6个开关的时候,哪个开关做什么,我们还能记得清楚,

增加到 20个开关,而且,各个开关之间又有某种关系时,

我们很容易犯错,而且,也很容易让人迷惑,

增加到50个开关时,还没等调试,人已经泄气了,太复杂了。






0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有