正确地为你的变量命名
保持你的变量拥有一个有意义的名字。如果你不这么做,不出六个月,我估计你会感到很伤感。我这里为了强调可能稍稍夸张了一点。我将会向下面这样命名一个变量:
public bool theBearMakesBigPottyInTheWoods = true;
这一个非常详细的命名。换句话说,你知道看到它你就知道它什么意思了,并且哪怕过了十年,我想你仍然知道它是什么意思。那么现在,我要为theBearMakesBigPottyInTheWoods重新命名:
public bool potty = true;
好的,那么我想你知道potty是什么,但是你能想到是一只在树里拉翔的熊么?我知道你能想到,因为你刚刚写过它,但是不出六个月,在你为无数个不同的项目写了上百行代码之后,你就会看着它并惊讶它是什么意思。我想你不得不再读几行你写的代码才能解读出来。
我想当你看代码的时候你会觉得在这个家伙写这个代码的时候脑子里究竟在想什么?所以,记得写一个有意义的代码哪怕第一次读的人也能读懂,如果你不这么做,相信我,不到六个月我估计你也不认识它了。
用小写字母来开始声明变量
你需要以小写字母来开始命名你的变量以便于使它和类区分开。组件名称(或者说类名)会以大写字母来开头,比方说,物品,我们很容易区分出Transform是一个类而transform是一个变量。
当然,这个规则也有例外,并且每一个开发者往往都有自己的命名习惯,用小写字母,大写字母甚至下划线或者什么来开始命名一个变量。所以最后,我们需要决定一个你喜欢的命名习惯。如果你见识过Unity研讨会,你可能会知道其中经常会为命名而开展热火朝天的辩论。在这本书里,我会向你推荐我的习惯,不过,你可以使用你觉得更为舒适的命名规则。
使用多个单词组成的变量名
让我们回到上一个例子:
public bool theBearMakesBigPottyInTheWoods = true;
你可以看到这个变量名是由8个单词组成的。当你开始命名变量的时候,请让第一个单词的首字母小写,后面的单词全部首字母大写。他会使创建一个兼具可读性和描述性的名字。那么,这种命名方式称为驼峰命名法。
Have a go hero – viewing multi-word variables in the Inspector panel
来吧去做个英雄! 看看Inspector面板里的多单词变量
我已经在public变量中提到过,Unity的Inspector会将每个单词分开并且将它们的首字母大写。那么去试试,将我们之前声明的变量放在LearningScript文件中会发生什么。
声明一个变量和它的类型
代码中的每一个变量都必须被声明。这是什么意思?那么,在我们使用一个变量之前,我们首先需要告诉Unity它的信息。那么,你认为我们会告诉Unity那些信息呢?
这里有三个声明变量所必须的规则:
- 我们需要说明变量所要存储的数据类型
- 我们需要为变量命名
- 我们需要使用分号来为我们的语句结尾
下面就是我们声明变量所要用到的句法:
typeOfData nameOfTheVariable;
让我们来使用LearningScript中的一个变量来作为例子;下面就是用最低限度的规则来声明变量:
int number1;
我们在这个语句中使用了什么:
- 必备条件 #1 就是我们的变量number1可存储的数据类型,这里是int,意味着它是一个整数型。
- 必备条件 #2 就是我们的变量名number1
- 必备条件 #3 就是我们的结尾分号
第二个条件我们已经讨论过了,第三个条件我们也讨论过了,那么第一个条件:数据类型,我们将会在接下来进行探讨。
下面是当我们使用这些最低限度的命名规则时,Unity解析的方式:
- 当没有使用public修饰的时候,就意味着它是private
- 它不会出现在Inspector面板中,也不能被其他代码调用
- number1中存储的数据默认为0
最常见的变量类型
这一节只会为大家展示C#提供给我们去声明变量的一些常用的数据类型。
因为这些数据类型摆在这里,所以你会了解到你的变量只能存储这种数据类型。而这些常用的数据类型你会在第七章 Creating the Gameplay is Just a Part of the Game 中关于点句法的时候进行创建。
下面这个表格会为我们展示你在Unity中最常用的一些数据类型:
数据类型 | 变量所存储的数据内容 |
---|---|
int | 就是一个简单的整数,比如3 |
float | 拥有小数点的数字,比如3.14 |
string | 双引号中的字符,比如,“吧啦吧啦” |
bool | 一个布尔值,只会是true或者false |
在这个表格之外仍有许多数据类型。不过当你熟悉了这些最常用的类型时,当你看到其他类型时也不会产生疑惑了
动手时间
向LearningScript中添加表格中类型的变量。并且向下图一样声明他们,观察他们在Inspector面板中是如何显示的。因为这些是public变量所以我们可以看到他们:
我还没有找到合适的存储空间
发生了什么?
我们将会在Unity的Inspector面板中看到下面这种情况:
我还没有找到合适的存储空间
Inspector面板中会出现我们已经设置好的变量。