從程式設計的角度看AVG的腳本事件 | 遊戲中常見的對話框

(先上一張圖)
腳本編輯器
這是之前我寫的腳本編輯器
(部分內容我劃掉了)
圖中的事件名稱都是我自己訂的
因為不是使用AVG引擎製作
所以在設計上會比較彈性


由於每個遊戲所設計的腳本事件都不一樣
所以可以只做參考就好





以兩張上圖為例的場景
分別為背景、人物、對話框、角色名字、角色對話、略過按鈕

試試做個範例
先嘗試定義幾個事件名稱

-wait : 等待玩家手動執行下一個事件
-charactername => 顯示角色名稱
-charactertext => 顯示角色對話
-clearalltext => 清除對話框的所有文字
-showcharacterimage => 顯示角色圖片
-hiddencharacterimage => 隱藏角色圖片
-crossbackground => 交換背景(用於兩張背景圖分別漸出漸入)
-showbackground => 漸入背景
-hiddenbackground => 漸出背景
-autosave => 自動儲存

定義完之後簡單做事件排序
(例如想要顯示"歡迎來到開放世界"、角色名字為"管理員")
前面為事件名稱、後面為事件內容
1. showbackground : bg1
2. wait
3. showcharacter : image1
4. charactername : 管理員
5. charactertext : 歡迎來到開放世界
6. wait
7. clearalltext
8. hiddenbackground
9. autosave

這邊比較特別的是有些事件名稱並不需要事件內容
因為只有執行功能並不用跟玩家互動

每個事件都可以再為它增加一些處理內容
例如說hiddenbackground
程式必須等待"背景完全隱藏之後"才會處理autosave
wait就是等待玩家點擊之後才會執行下一個事件
事件名稱與內容需要去判斷
哪些是直接顯示、哪些是需要讀取資料

事件名稱可以很多樣化
例如還可以增加震動、音效、下雨等等事件
這邊就不再做舉例

全部做完之後
就是加密事件內容儲存檔案

參考資料

留言