正確地為你的變量命名
保持你的變量擁有一個(gè)有意義的名字。如果你不這么做穗熬,不出六個(gè)月中狂,我估計(jì)你會(huì)感到很傷感。我這里為了強(qiáng)調(diào)可能稍稍夸張了一點(diǎn)啦膜。我將會(huì)向下面這樣命名一個(gè)變量:
public bool theBearMakesBigPottyInTheWoods = true;
這一個(gè)非常詳細(xì)的命名有送。換句話說,你知道看到它你就知道它什么意思了僧家,并且哪怕過了十年雀摘,我想你仍然知道它是什么意思。那么現(xiàn)在八拱,我要為theBearMakesBigPottyInTheWoods重新命名:
public bool potty = true;
好的阵赠,那么我想你知道potty是什么,但是你能想到是一只在樹里拉翔的熊么肌稻?我知道你能想到清蚀,因?yàn)槟銊倓倢戇^它,但是不出六個(gè)月爹谭,在你為無數(shù)個(gè)不同的項(xiàng)目寫了上百行代碼之后枷邪,你就會(huì)看著它并驚訝它是什么意思。我想你不得不再讀幾行你寫的代碼才能解讀出來旦棉。
我想當(dāng)你看代碼的時(shí)候你會(huì)覺得在這個(gè)家伙寫這個(gè)代碼的時(shí)候腦子里究竟在想什么齿风?所以,記得寫一個(gè)有意義的代碼哪怕第一次讀的人也能讀懂绑洛,如果你不這么做,相信我童本,不到六個(gè)月我估計(jì)你也不認(rèn)識(shí)它了真屯。
用小寫字母來開始聲明變量
你需要以小寫字母來開始命名你的變量以便于使它和類區(qū)分開。組件名稱(或者說類名)會(huì)以大寫字母來開頭穷娱,比方說绑蔫,物品运沦,我們很容易區(qū)分出Transform是一個(gè)類而transform是一個(gè)變量。
當(dāng)然配深,這個(gè)規(guī)則也有例外携添,并且每一個(gè)開發(fā)者往往都有自己的命名習(xí)慣,用小寫字母篓叶,大寫字母甚至下劃線或者什么來開始命名一個(gè)變量烈掠。所以最后,我們需要決定一個(gè)你喜歡的命名習(xí)慣缸托。如果你見識(shí)過Unity研討會(huì)左敌,你可能會(huì)知道其中經(jīng)常會(huì)為命名而開展熱火朝天的辯論。在這本書里俐镐,我會(huì)向你推薦我的習(xí)慣矫限,不過,你可以使用你覺得更為舒適的命名規(guī)則佩抹。
使用多個(gè)單詞組成的變量名
讓我們回到上一個(gè)例子:
public bool theBearMakesBigPottyInTheWoods = true;
你可以看到這個(gè)變量名是由8個(gè)單詞組成的叼风。當(dāng)你開始命名變量的時(shí)候,請(qǐng)讓第一個(gè)單詞的首字母小寫棍苹,后面的單詞全部首字母大寫咬扇。他會(huì)使創(chuàng)建一個(gè)兼具可讀性和描述性的名字。那么廊勃,這種命名方式稱為駝峰命名法懈贺。
Have a go hero – viewing multi-word variables in the Inspector panel
來吧去做個(gè)英雄! 看看Inspector面板里的多單詞變量
我已經(jīng)在public變量中提到過坡垫,Unity的Inspector會(huì)將每個(gè)單詞分開并且將它們的首字母大寫梭灿。那么去試試,將我們之前聲明的變量放在LearningScript文件中會(huì)發(fā)生什么冰悠。
聲明一個(gè)變量和它的類型
代碼中的每一個(gè)變量都必須被聲明堡妒。這是什么意思?那么溉卓,在我們使用一個(gè)變量之前皮迟,我們首先需要告訴Unity它的信息。那么桑寨,你認(rèn)為我們會(huì)告訴Unity那些信息呢伏尼?
這里有三個(gè)聲明變量所必須的規(guī)則:
- 我們需要說明變量所要存儲(chǔ)的數(shù)據(jù)類型
- 我們需要為變量命名
- 我們需要使用分號(hào)來為我們的語句結(jié)尾
下面就是我們聲明變量所要用到的句法:
typeOfData nameOfTheVariable;
讓我們來使用LearningScript中的一個(gè)變量來作為例子;下面就是用最低限度的規(guī)則來聲明變量:
int number1尉尾;
我們?cè)谶@個(gè)語句中使用了什么:
- 必備條件 #1 就是我們的變量number1可存儲(chǔ)的數(shù)據(jù)類型爆阶,這里是int,意味著它是一個(gè)整數(shù)型。
- 必備條件 #2 就是我們的變量名number1
- 必備條件 #3 就是我們的結(jié)尾分號(hào)
第二個(gè)條件我們已經(jīng)討論過了辨图,第三個(gè)條件我們也討論過了班套,那么第一個(gè)條件:數(shù)據(jù)類型,我們將會(huì)在接下來進(jìn)行探討故河。
下面是當(dāng)我們使用這些最低限度的命名規(guī)則時(shí)吱韭,Unity解析的方式:
- 當(dāng)沒有使用public修飾的時(shí)候,就意味著它是private
- 它不會(huì)出現(xiàn)在Inspector面板中鱼的,也不能被其他代碼調(diào)用
- number1中存儲(chǔ)的數(shù)據(jù)默認(rèn)為0
最常見的變量類型
這一節(jié)只會(huì)為大家展示C#提供給我們?nèi)ヂ暶髯兞康囊恍┏S玫臄?shù)據(jù)類型理盆。
因?yàn)檫@些數(shù)據(jù)類型擺在這里,所以你會(huì)了解到你的變量只能存儲(chǔ)這種數(shù)據(jù)類型鸳吸。而這些常用的數(shù)據(jù)類型你會(huì)在第七章 Creating the Gameplay is Just a Part of the Game 中關(guān)于點(diǎn)句法的時(shí)候進(jìn)行創(chuàng)建熏挎。
下面這個(gè)表格會(huì)為我們展示你在Unity中最常用的一些數(shù)據(jù)類型:
數(shù)據(jù)類型 | 變量所存儲(chǔ)的數(shù)據(jù)內(nèi)容 |
---|---|
int | 就是一個(gè)簡(jiǎn)單的整數(shù),比如3 |
float | 擁有小數(shù)點(diǎn)的數(shù)字晌砾,比如3.14 |
string | 雙引號(hào)中的字符坎拐,比如,“吧啦吧啦” |
bool | 一個(gè)布爾值养匈,只會(huì)是true或者false |
在這個(gè)表格之外仍有許多數(shù)據(jù)類型哼勇。不過當(dāng)你熟悉了這些最常用的類型時(shí),當(dāng)你看到其他類型時(shí)也不會(huì)產(chǎn)生疑惑了
動(dòng)手時(shí)間
向LearningScript中添加表格中類型的變量呕乎。并且向下圖一樣聲明他們积担,觀察他們?cè)?strong>Inspector面板中是如何顯示的。因?yàn)檫@些是public變量所以我們可以看到他們:
我還沒有找到合適的存儲(chǔ)空間
發(fā)生了什么猬仁?
我們將會(huì)在Unity的Inspector面板中看到下面這種情況:
我還沒有找到合適的存儲(chǔ)空間
Inspector面板中會(huì)出現(xiàn)我們已經(jīng)設(shè)置好的變量帝璧。