Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
最終調整¶
現在,這個遊戲的所有功能都已經完成了。接下來的這些步驟可以讓遊戲畫龍點睛、增進遊戲體驗。如果你有更多 Idea 的話,也可以自由地擴充遊戲。
隨意用你自己的想法擴充遊戲玩法。
背景¶
預設的灰色背景並不是很吸睛,所以來改個顏色。其中一種改背景的方式是新增一個 ColorRect 節點。將 ColorRect 新增為 Main
底下的第一個節點,這樣 ColorRect 才會被繪製在其他節點的下方。ColorRect
只有一個屬性: Color
(色彩)。選擇一個你喜歡的顏色,並選擇「畫面配置」->「全矩形」,這樣就會覆蓋整個畫面。
如果你有適合的圖片的話,也可以用圖片作為背景。改用 TextureRect
節點即可。
音效¶
Sound and music can be the single most effective way to add appeal to the game experience. In your game's art folder, you have two sound files: "House In a Forest Loop.ogg" for background music, and "gameover.wav" for when the player loses.
在 Main
中新增兩個 AudioStreamPlayer 節點作為子節點。將其中一個命名為 Music
,另一個則為 DeathSound
。在各個節點上點擊 Stream
(串流)屬性,選擇「載入」,並選擇對應的音訊檔。
所有音訊都會在禁用 迴圈
設定的情況下自動匯入。如果希望音樂無縫迴圈,請按一下流檔下拉箭頭,選擇 唯一化
,然後再按一下流檔並選中 迴圈
框。
要播放音樂,在 new_game()
函式中新增 $Music.play()
,並在 game_over()
函式中新增 $Music.stop()
。
最後,在 game_over()
函式中新增 $DeathSound.play()
。
func game_over():
...
$Music.stop()
$DeathSound.play()
func new_game():
...
$Music.play()
public void GameOver()
{
...
GetNode<AudioStreamPlayer>("Music").Stop();
GetNode<AudioStreamPlayer>("DeathSound").Play();
}
public void NewGame()
{
...
GetNode<AudioStreamPlayer>("Music").Play();
}
鍵盤快捷鍵¶
由於這個遊戲是用鍵盤控制來玩的,如果能用鍵盤上的按鍵也能開始新遊戲的話會很方便。我們可以使用 Button
節點的「Shortcut」(快捷鍵)屬性來做到。
在上一課中,我們建立了四個輸入動作來移動角色。我們將建立一個類似的輸入動作來對應到開始按鈕。
選擇“專案 -> 專案設定”,然後按一下“輸入對應”分頁。與建立移動輸入動作的方式相同,建立一個名為 start_game
的新輸入操作,並為 Enter 新增按鍵對應。
如果你有一個手柄,現在可以新增一個手柄支援。連接上你的手柄,然後在每一個你想新增手柄支援的輸入動作下,點擊 "+" 按鈕然後按下該輸入動作對應的按鈕,方向鍵或者搖桿。
在 HUD
場景中,選擇 StartButton
並在屬性面板中找到它的 Shortcut(快捷方式)**屬性。通過在框中按一下來建立一個新的 :ref:`快捷鍵 <class_Shortcut>` 資源,打開 **Events(事件) 陣列並通過按一下 Array[InputEvent] (size 0) 向其新增一個新的陣列元素。
建立一個新的 InputEventAction <class_InputEventAction>`並將其命名為 ``start_game`。
現在當開始按鈕出現的時候,可以點擊按鈕或是使用按鍵 空白鍵 來開始新遊戲。
就這樣,你在 Godot 中完成了你的第一個 2D 遊戲。
你已經能夠製作由玩家控制的角色、在遊戲區域內隨機產生的敵人、計算分數、實作遊戲結束和重玩、使用者介面、聲音,以及更多內容。祝賀!
還有很多東西需要學習,但你可以花點時間來欣賞你所取得的成就。
當你準備好了,你可以繼續學習 您的第一個 3D 遊戲,學習在 Godot 中從頭開始建立一個完整的 3D 遊戲。