Dialogue System for Unity 使用範例

遊戲在進入特定對話節點時,畫面轉黑並移到場景中的指定位置。

建立一個 MyEvents.cs 腳本,程式碼如下:

建立一個空物件並套用此腳本。

開啟 [ Plugins > Pixel Crushers > Dialogue System > Prefabs > Art ] 資料夾,選取 SceneFaderCanvas 預製物件拖曳到場景的任何位置。

設定 MyEvents 物件的變數欄位:

Player = PlayerCapsule

Fade Anim = SceneFaderCanvas

選取場景上剛放進來的 SceneFaderCanvas 物件,開啟此物件 Animator 元件使用的 SceneFaderCanvas Animator Controller 動畫控制器

將原來的這個內容:~

新增動畫狀態,改成如下:~

新增 ShowAndHide (Trigger) 參數。~

新增 Any State 到 Fade To Black 0 動作狀態的轉換箭頭。

~

選取此箭頭,設定 Conditions = ShowAndHide

 

開啟對話資料庫,選取需要移動玩家的對話節點,透過 Inspector 找到 Scene Event 按 + 新增場景事件,

將剛建立的 MyEvents 拖曳到物件欄位,選擇 MyEvents.GoWait 再將場景上對應的檢查點空物件拖曳到下方欄位。

移動前畫面變黑。

 

依玩家輸入改變名稱

輸入使用者名稱,並在對話內容中顯示。

增加一個新變數 PlayerName 玩家名稱。

輸入玩家名稱-建立新對話

加入新的對話節點,請輸入玩家名稱。

選取場景中的 Text Field UI 確認文字輸入的物件名稱,稍後將用於 Lua code 。

TextInput

中文也可以

ChangeActorName

注意!必須連結到新的對話,玩家名稱才會出現在對話內容。

 

顯示玩家名稱

顯示出現家名稱

 

 

簡易密碼判定

使用 Dialogue System 判定玩家輸入的密碼,首先新增 Password (Text) 變數。

密碼判定功能使用的全部對話節點。

輸入密碼的節點 TextInput(Text Field UI,Password,Password)

密碼判定的節點輸入 Delay(0) 避免對話的等待時間。

密碼正確的對話節點。

進入系統。

密碼錯誤的對話節點。

重新輸入的對話節點,顯示訊息給玩家重新輸入密碼的提示。

 

按下 Play 測試遊戲。

輸入正確密碼,即可進入系統。

輸入錯誤密碼。

U

U

U

U

U

U

U

U

U

U