視覺腳本入門

就像 Godot 中的其他功能一樣,比起複製或整合那些與目前工作流程不合的第三方解決方案,我們更優先考量良好的體驗。因此我們便寫了自家版的視覺腳本,相信這個功能與 Godot 更合用。

在 Godot 中,在編輯器分頁中使用視覺腳本就與一般腳本沒什麼兩樣

../../../_images/visual_script1.png

事實上,視覺腳本在 Godot 中整合得這麼好,真的很難想像這功能是 3.0 版才新增的。這是因為在編輯的時候,剩下的 Godot 面板扮演了類似調色盤的角色,可以拖放各種資訊到腳本畫布上:

../../../_images/visual_script2.png

建立腳本

建立腳本的方法就與其他腳本語言一樣:在場景中選擇任意節點並點擊場景樹 Dock 右上角的 [新增腳本] 按鈕:

../../../_images/visual_script3.png

開啟後,請從下拉選單中選擇「VisualScript」腳本類型。腳本的副檔名必須是「.vs」(代表視覺腳本 VisualScript!)。

../../../_images/visual_script4.png

最後,會打開腳本編輯器,接著便可以開始編輯視覺腳本:

../../../_images/visual_script5.png

新增函式

與其他視覺腳本實作不同,Godot 中的視覺腳本大部分都基於函式。會基於函式是因為視覺腳本使用了與其他腳本引擎相同的介面來與引擎溝通。Godot 中,腳本介面為通用的,所有的實作都是依照介面來實作的。

函式是與節點連接的獨立畫布。

單一腳本可以包含任何函式,每個函式都有自己的畫布,並可以進一步組織。

要新增函式到腳本中有三種主要方法:

複寫虛擬函式

在 Godot 中絕大多數的節點與其他型別的物件都包含了虛擬函式。這些函式會在某些事件發生時被呼叫 (也就是指執行程式碼),並且可以在參照文件中找到這些函式。虛擬函式會在按下成員面板上 [複寫] 圖示時列出來:

../../../_images/visual_script6.png

在下列範例中,某個函式會在節點載入並加入執行中場景時被執行。為此,會複寫 _ready() 虛擬函式:

../../../_images/visual_script7.png

最後,該函式的畫布會顯示出來,顯示我們覆寫的函式:

../../../_images/visual_script8.png

當函式有回傳值,則會顯示回傳節點,並提供回傳值:

../../../_images/visual_script9.png

連接訊號至方法

在場景樹中的節點會在某些事情發生時送出訊號。Godot 在各種地方都使用訊號。典型的例子為按下按鈕會送出「pressed」訊號。

要連接訊號,必須先選擇節點,並打開節點分頁。這裡可以看到各個訊號。看到訊號後,點擊「pressed」訊號:

../../../_images/visual_script10.png

之後會打開連接對話框。在此對話框中,必須選擇訊號要連接的節點,以及要接收訊號的函式:

../../../_images/visual_script11.png

好了之後,在腳本中就會建立新的函式,而訊號也會自動連接到函式上:

../../../_images/visual_script12.png

手動建立函式

最後一種建立函式的方法便是手動建立。一般來說,除非特別需要,否則不常用到這種方法。自定函式是用來給其他腳本 (或同一個腳本) 手動呼叫用的。自定函式的主要用途是用來將一些大函式且分成各個易於管理的小區塊,並在視覺程式碼中重複使用這些片段。

要手動建立函式,點擊大大的 [加號] 按鈕,即可以預設名稱建立函式:

../../../_images/visual_script13.png

接著會建立新函式,只要點兩下就可以更改函式名稱:

../../../_images/visual_script14.png

如果要修改函式可以接收的「參數」(即為呼叫此函式是傳入的值),只需要點擊 Function 節點並看到屬性面板:

../../../_images/visual_script15.png

詳情會在本文件的稍後說明。