《游戲編程模式》筆記——字節(jié)碼
意圖
將行為編碼為虛擬機(jī)的指令,賦予其數(shù)據(jù)的靈活性。
說人話就是,通過外部數(shù)據(jù)來定義行為,游戲程序通過讀取數(shù)據(jù)解析后進(jìn)行對應(yīng)的行為。
如果把游戲的行為寫到代碼中,每次修改的時候都要重新編譯整個游戲程序,十分的不方便。
行為=組合
為了支持復(fù)雜的行為,我們需要通過將單一的行為進(jìn)行組合。
例如我們有一個治療技能,它會根據(jù)角色的敏捷和智力的平均值來治療角色。
這么一個技能的行為就可以是:
獲取角色當(dāng)前血量
獲取角色當(dāng)前敏捷
獲取角色當(dāng)前智力
敏捷與智力相加
敏捷與智力相加的結(jié)果除2得到治療量
角色血量與治療量相加獲得治療結(jié)果
將角色的血量設(shè)置為治療結(jié)果
我們需要將各個行為封裝成對應(yīng)的函數(shù),在解析了數(shù)據(jù)以后執(zhí)行對應(yīng)的行為進(jìn)行堆疊依次執(zhí)行,再復(fù)雜的行為都可以實現(xiàn)。
參考
《游戲編程模式》
標(biāo)簽: