
每個(gè)男孩子童年都少不了游戲,無(wú)論成幫拉伙的捉迷藏,還是靜靜地坐在電視前滿頭大汗地打電動(dòng)。小時(shí)候沒(méi)法脫身或者手頭緊的時(shí)候,就在家里找到一張大紙,手工繪制出各個(gè)關(guān)卡,然后通過(guò)投擲色子來(lái)進(jìn)行游戲。那時(shí)也是我們的樂(lè)趣。
設(shè)計(jì)階段
可以哪一張紙或是打開(kāi) photoshop 來(lái)繪制我們游戲的藍(lán)圖
最近發(fā)現(xiàn)比較好游戲引擎,原先接觸最多的是 unity 和 flash ,用 flash
Godot 是我最近接觸一款游戲引擎,
對(duì)比 Unity 支持 javascript 和 c# 來(lái)編譯游戲腳本,Godot 需要我們熟悉一門(mén)新語(yǔ)言,這門(mén)語(yǔ)言接觸接觸了,總的感覺(jué)類(lèi)似 python 的語(yǔ)法,通過(guò) tab 來(lái)控制代碼層次關(guān)系。
Godot 為了爭(zhēng)奪 unity 的用戶也開(kāi)始支持 c#,看來(lái) c# 這種語(yǔ)言還挺適合游戲腳本。周末使用 Godot 根據(jù)教程簡(jiǎn)單地寫(xiě)了一個(gè)游戲,在開(kāi)發(fā)過(guò)程中是愉快和流暢的。
關(guān)鍵是 Godot 的輕便,讓我驚訝的是這么小安裝包怎么干這么大事,
有關(guān) Godot 安裝很簡(jiǎn)單,尤其是在 Window 加載后解壓就可以直接運(yùn)行了,和綠色軟件沒(méi)有什么區(qū)別,而且體積較小,在 mac 端我是 brew 安裝的。
其實(shí)要?jiǎng)?chuàng)建一個(gè)游戲,就會(huì)先創(chuàng)建一個(gè)場(chǎng)景,我們游戲也是一個(gè)場(chǎng)景一個(gè)場(chǎng)景進(jìn)行切換的,這個(gè)應(yīng)該不難理解。

讓后我們?cè)趧?chuàng)景節(jié)點(diǎn)根部創(chuàng)建一個(gè) KinematicBody2D 節(jié)點(diǎn)作為 player,也就是一個(gè)

然后在 KinematicBody2D 節(jié)點(diǎn)下給一個(gè) sprite 節(jié)點(diǎn)用于放置我們給 player 添加的素材


選擇好 KinematicBody2D 節(jié)點(diǎn)然后在工具欄中點(diǎn)擊兩個(gè)方塊組成的圖標(biāo)可讓 KinematicBody2D 和其下子節(jié)點(diǎn)作為一個(gè)整體一起移動(dòng)

在【設(shè)置吸附】對(duì)話框中設(shè)置網(wǎng)格大小為 32px ,


通過(guò)勾選【顯示輔助線】來(lái)顯示編輯界面的輔助線

然后開(kāi)始為 player 添加腳步來(lái)控制其行為,GDscript 語(yǔ)法有點(diǎn)類(lèi)似 python,通過(guò) tab 控制腳步結(jié)構(gòu)

在腳步模板中 _ready 方法表示所有節(jié)點(diǎn)都已經(jīng)被添加到場(chǎng)景中的時(shí)候

去掉模板中代碼,我們自己來(lái)寫(xiě)控制 player 的腳步
extends KinematicBody2D
var motion = Vector2()
func _physics_process(delta):
_physics_process 方法在這里處理 player 一些隨時(shí)間運(yùn)動(dòng)的控制,為了包括一些物理所有用到 physics 。
