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()

鍵盤快捷鍵

由於這個遊戲是用鍵盤控制來玩的,如果能用鍵盤上的按鍵也能開始新遊戲的話會很方便。我們可以使用 Button 節點的「Shortcut」(快捷鍵)屬性來做到。

在上一課中,我們建立了四個輸入動作來移動角色。我們將建立一個類似的輸入動作來對應到開始按鈕。

選擇“專案 -> 專案設定”,然後按一下“輸入對應”分頁。與建立移動輸入動作的方式相同,建立一個名為 start_game 的新輸入操作,並為 Enter 新增按鍵對應。

如果你有一個手柄,現在可以新增一個手柄支援。連接上你的手柄,然後在每一個你想新增手柄支援的輸入動作下,點擊 "+" 按鈕然後按下該輸入動作對應的按鈕,方向鍵或者搖桿。

HUD 場景中,選擇 StartButton 並在屬性面板中找到它的 Shortcut(快捷方式)**屬性。通過在框中按一下來建立一個新的 :ref:`快捷鍵 <class_Shortcut>` 資源,打開 **Events(事件) 陣列並通過按一下 Array[InputEvent] (size 0) 向其新增一個新的陣列元素。

../../_images/start_button_shortcut.webp

建立一個新的 InputEventAction <class_InputEventAction>`並將其命名為 ``start_game`

../../_images/start_button_shortcut2.webp

現在當開始按鈕出現的時候,可以點擊按鈕或是使用按鍵 空白鍵 來開始新遊戲。

就這樣,你在 Godot 中完成了你的第一個 2D 遊戲。

../../_images/dodge_preview.gif

你已經能夠製作由玩家控制的角色、在遊戲區域內隨機產生的敵人、計算分數、實作遊戲結束和重玩、使用者介面、聲音,以及更多內容。祝賀!

還有很多東西需要學習,但你可以花點時間來欣賞你所取得的成就。

當你準備好了,你可以繼續學習 您的第一個 3D 遊戲,學習在 Godot 中從頭開始建立一個完整的 3D 遊戲。