從零開(kāi)始獨(dú)立游戲開(kāi)發(fā)學(xué)習(xí)筆記67--Godot 學(xué)習(xí)筆記2--GDScript文檔1-基礎(chǔ)

因?yàn)榘l(fā)現(xiàn) GDScript 也不完全是 Python,所以或多或少還是要學(xué)一下。不過(guò)也沒(méi)多少就是了。
1. Number
科學(xué)計(jì)數(shù)法可以直接寫(xiě) 3e6。
特殊數(shù)字的關(guān)鍵字有這些可以記下:PI,TAU,INF。
分別代表 π,2π,無(wú)限大。
1.1 為什么 int 超過(guò)最大值不報(bào)錯(cuò)
和 python 無(wú)限大小不一樣。在 GDScript 里,int 數(shù)字是 64bit,所以值只能在?-2**63 到 2**63-1
?之間(因?yàn)橐?1bit 給正負(fù)記號(hào))。給最大值加一會(huì)變成最小值,但不會(huì)導(dǎo)致代碼崩潰。
不設(shè)計(jì)成崩潰而是循環(huán)到最小值,是因?yàn)閷?duì)于游戲來(lái)說(shuō),有很多需要這個(gè)設(shè)計(jì)的時(shí)候。比如作為坐標(biāo)值的話,我們并不希望坐標(biāo)達(dá)到最大值后崩潰。
一般來(lái)說(shuō),因?yàn)?float 會(huì)有精度問(wèn)題。所以精確計(jì)算的時(shí)候不要用 float。
2. 變量
雖然 Godot 是動(dòng)態(tài)類型語(yǔ)言,但是也可以定義有類型的變量。語(yǔ)法是?var text: String = "hello"
別的沒(méi)啥,和 python 一模一樣。
3 & 4. 運(yùn)算符 & 函數(shù)
和 python 一模一樣。
5. 條件語(yǔ)句
GDScript 里的 switch 叫做 match。并提供了很多額外功能??梢砸豢础?/p>
6. 循環(huán)語(yǔ)句
和 python 一模一樣。
7. 數(shù)組
和 python 一模一樣,連方法名都一模一樣。
GDScript 也提供了很多其他數(shù)組類型用于一些高級(jí)功能。等用的時(shí)候再說(shuō)吧。
8. 字典
一模一樣??梢杂?duplicate 方法來(lái) deep/shallow copy。
9. 類
Godot 里的節(jié)點(diǎn)就是類。場(chǎng)景也是類。我們?cè)谝粋€(gè)場(chǎng)景里引用另一個(gè)場(chǎng)景,實(shí)際上就是在這個(gè)場(chǎng)景上實(shí)例化另一個(gè)場(chǎng)景。
比較像 js,所有的類都有一個(gè)基類叫 Object,然后繼承到其它類。
可以通過(guò) in 來(lái)獲取屬性方法是否在某個(gè)類中。
10. 總結(jié)
語(yǔ)法上幾乎完全是 python。