我正在研究一個簡單的樹型對話系統。它是一個基本的點擊遊戲,推動故事,有不同的選擇來選擇,讓玩家走向不同的故事路徑。基於樹型的高效對話系統?
我做的是,我創建了一個叫做Convo的過多的gameObject。每個Convo都包含Text(Component)和Children來確定屏幕上顯示哪個角色,並在這些孩子中顯示一個標籤來顯示他們的變形(例如傷心的快樂等)。 防爆
- A-0-1(文字: 「約翰:嘿,這是怎麼回事」)(與標籤 「選擇」,如果這是最後康沃)
- 約翰(與標籤「空閒「)
- 簡(帶標籤 「激怒」)
有2個變量:CurrentDialogue(字符串)和DialogueTracking(int)。
在每次點擊時,我檢查當前的convo是否有標籤「Choice」。如果沒有,我使用CurrentDialogue(字符串)來查找具有確切名稱的gameobject並顯示它的文本。然後我使用DialogueTracking修改CurrentDialogue(字符串)從A-0-1到A-0-2等,並且當有標籤「choice」(Ex.A-0-4)時,將DialogueTracking增加一個,
),DialogueTracking(int)重置爲1,所以在玩家選擇一個選項後,它是A-1-1而不是A-1-5。
這是問題,經過很多convo和許多故事路徑後,我意識到我的新手錯誤。代碼變成大o'if/else(比較哪個選擇走哪個路徑)
我對編程和團結相當陌生,如果任何人都可以引導我在正確的方向上幫助我學習如何創建這個系統是乾淨和高效的,那真是太棒了!
謝謝!
使用接口也許結構呢? https://unity3d.com/learn/tutorials/topics/scripting/interfaces – Absinthe