場景(Scene)與節點(Node)
簡介

先設想有那么一瞬間你自己不再是一名游戲開發者了,而是一名大廚!
你的裝備換成了一套大廚的制服。不要考慮制作游戲的事情,你現在的職責是為你的顧客創建新的可口的食譜。
那么,大廚是怎樣創建食譜的呢?食譜分為兩部分:首先是食材;然后是工序。這樣,任何人都可以根據食譜烹調並品嘗到你華麗的創作。
Godot中制作游戲與這個過程非常相似。Godot引擎就像一個廚房,在這個廚房里,節點就像裝滿新鮮食材的冰箱。
節點有很多種類型,顯示圖片的、播放聲音的、顯示三維模型的,等等。總共有幾十個。
節點
讓我們從基礎談起。節點是創建游戲的最基礎的元素,它具有以下一些特征:
- 名稱
- 可編輯的屬性
- 能接收回調,以便處理每幀(Frame)相關效果
- 可以被擴展,以便擁有更多功能
- 可以被添加為其它節點的子節點

最后一點非常重要:節點能讓其它節點作為子節點。這樣組合出來,就變成了我們常說的樹狀。
Godot中這種樹狀組織能力創建了一種強大的項目管理工具。由於不同的節點有不同的功能,通過組合它們就足以創建更復雜的功能。
這樣講你肯定還沒有什么感覺,但Godot所有的知識點都與上面這些特征有關,你現在只要記住有節點這么個概念,並且節點能按樹狀組合就好了。
場景

有了節點的概念后,下一步就是要給你解釋什么是場景了。
場景就是由一組按樹狀層級結構組織的節點組成。它有下列屬性:
- 一個場景只有一個根節點
- 場景可以被保存到硬盤上並被加載回來
- 場景可被實例化 (稍后會有更多描述)
- 運行一款游戲意味着在運行一個場景
- 一個項目中可以有多個場景,但啟動時必須指定其中一個用於初始加載的場景
Godot編輯器其實就是一個場景編輯器。它有豐富的用於編輯二維和三維場景的相關工具,這些工具都是圍繞編輯節點和場景的概念的。
創建項目
光講理論很無聊了吧,那讓我們來點實踐性的:用編輯器來做個“Hello world”。
當沒有啟動具體項目時,Godot會打開項目管理器,用於幫助開發者管理項目。

點"New Project"創建新項目,這個時候需要選擇項目路徑並指定項目名稱:

編輯器
創建好新項目后,下一步就是打開它,這樣就啟動了Godot編輯器。編輯器的效果大致是這樣:

上面提過,在Godot中制作游戲就像到了廚房,先打開冰箱,然后添加一些新鮮的節點到項目中。讓我們開始“Hello World”吧,點擊"New Node"按鈕:

打開“Create Node”對話框,界面顯示了一長列可用節點吧:

先選擇“Label”節點,可以在上方快速搜索:

最后,創建標簽!“Create”按鈕被點擊后,會發生很多事情:

首先,場景變成2D編輯器,因為Label是個二維節點,Label會出現Viewpoint左上角、被選中狀態。
同時,該節點出現在Scene樹編輯器,標簽屬性則出現在Inspector。
下面,我們來修改該標簽的“Text”屬性,改成"Hello, World!":

好了,這樣就可以運行場景了!點擊頂部欄的播放場景的按鈕或按F6:

哎呀...

提示場景需要保存了才能運行;保存場景,文件名比如叫做 hello.scn:

該場景只允許保存在該項目中。項目的根 "res://" 代表資源路徑。
保存場景后再點“運行場景”,“Hello, World!”這個demo應該就開始執行了:

搞定!
.. _doc_scenes_and_nodes-configuring_the_project:
配置項目
項目中,如果有多個場景,必須指定一個主場景 - 在運行時初始被載入的。
這些設置都被保存在engine.cfg中,這是一種win.ini這樣的純文本格式,編輯起來很簡單。因為項目設置項很多,所以可以通過“項目設置”對話框來直觀操作。
通過菜單Scene -> Project Settings可以訪問該對話框。
該窗口被打開時,要選擇主場景,很簡單,切換到application/main_scene屬性,選擇'hello.scn'即可。

完成設置后,點“運行按鈕”或F5鍵會開始運行該項目。
再打開項目設置對話框,其中顯示了很多可用選項及默認值。如果默認值沒問題的話就不需要動它。
當其中一項值被改動,其名稱左側會出現一個標記,代表該值將會保存到engine.cfg文件中。
其實還可以添加自定義配置選項並在運行時被讀入
:ref:Globals <class_Globals> 單例對象中.
未完待續...
下一節會涉及多個場景及多個節點!
原文:http://docs.godotengine.org/en/latest/tutorials/step_by_step/scenes_and_nodes.html
