Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Godot 關鍵概念概述

任何遊戲引擎都是圍繞著建構程式所用的抽象的。在 Godot 中,遊戲就是一棵由 節點 構成的 ,樹又可以結合起來構成 場景 。然後你還可以將這些節點連起來,讓它們通過 訊號 進行通信。

這就是你將在這裡學習的四個概念。我們將簡要地看一下它們,讓你對引擎的工作原理有一個瞭解。在入門系列中,你將在實踐中使用它們。

場景

在 Godot 中,你把你的遊戲分解成可重複使用的場景。場景可以是一個角色、一件武器、使用者介面中的一個功能表、一座房子、整個關卡,或者任何你能想到的東西。Godot 的場景很靈活,既能夠充當預製件(Prefab),又能夠用作其他遊戲引擎中的場景。

../../_images/key_concepts_main_menu.webp

你還可以巢狀場景。例如,你可以把你的角色放在關卡中,然後拖放一個場景作為它的子級。

../../_images/key_concepts_scene_example.webp

節點

場景由若干 節點 組成。節點是你的遊戲最小的構件,你將其排列成樹狀。下面是一個人物節點的例子。

../../_images/key_concepts_character_nodes.webp

It is made of a CharacterBody2D node named "Player", a Camera2D, a Sprite2D, and a CollisionShape2D.

備註

節點名稱以“2D”結尾,因為這是一個 2D 場景。對應 3D 節點的名稱以“3D”結尾。請注意,原本的空間節點“Spatial”從 Godot 4 開始改名成了“Node3D”。

注意節點和場景在編輯器中看起來是一樣的。當你把一棵節點樹保存為場景時,它就顯示為一個單一的節點,其內部結構在編輯器中是隱藏的。

Godot 提供了豐富的基礎節點型別程式庫,你可以通過組合和擴充來建立更強大的節點。無論是 2D、3D 還是使用者介面,你都可以用這些節點完成大多數事情。

../../_images/key_concepts_node_menu.webp

場景樹

遊戲的所有場景都彙集在 場景樹 中,字面意思是一棵場景樹。由於場景是節點樹,因此場景樹也是節點樹。但是,從場景的角度來考慮您的遊戲更容易,因為它們可以代表角色、武器、門或您的使用者介面。

../../_images/key_concepts_scene_tree.webp

訊號

節點在發生某些事件時發出訊號。此功能無需在程式碼中硬連接它們就能讓節點相互通信。它為您提供了建構場景的靈活性。

../../_images/key_concepts_signals.webp

備註

欲瞭解更多有關觀察者模式的資訊,請參考:https://gameprogrammingpatterns.com/observer.html

例如,按鈕在按下時會發出訊號。您可以連接到此訊號以運作程式碼以回應此事件,例如啟動遊戲或打開功能表。

其他內建訊號可以告訴您兩個物件何時碰撞,角色或怪物何時進入給定區域等等。您還可以針對遊戲量身定制新的訊號。

總結

節點、場景、場景樹和訊號是 Godot 中的四個核心概念,您將一直操縱它們。

節點是遊戲最小的建構塊。你把它們組合起來建立場景,再把它們組合起來並巢狀到場景樹中。最後,你可以使用訊號來使節點對其他節點或不同的場景樹分支中的事件做出回應。

經過這個簡短的分解,你可能有很多問題。請耐心等待,你將在整個入門系列中得到更多解答。