
今天我們要談的話題是“角色技能”我們首先聊一個具體的角色技能的流程是什么樣的比如具體一個角色具有給隊(duì)友加血的效果那么我們首先定義下技能具體什么屬性 技能具備技能id 技能1p特效 技能3p特效 技能類型比如加血技能 技能狀態(tài) 包括三種階段技能開始 開始冷卻階段 技能結(jié)束階段 當(dāng)然技能階段是動態(tài)數(shù)據(jù) 并不是靜態(tài)數(shù)據(jù)從策劃配表讀取 還是由客戶端的玩家觸發(fā)將動態(tài)數(shù)據(jù)當(dāng)前技能處于的狀態(tài)存入數(shù)據(jù)庫那么既然技能具備狀態(tài) 并且隨著時間的流逝 技能的狀態(tài)需要及時同步 同步射擊2個場景 第一個就是我們HUD技能圖標(biāo)的冷卻等可用的及時更新 第二個就是角色技能動作的同步以及不同階段展示不同的特效等各種同步那么就涉及協(xié)議了 第一個就是需要一個技能開始協(xié)議 該協(xié)議需要包含當(dāng)前角色id 技能類型 目標(biāo)玩家 因?yàn)槟阋o對應(yīng)加血把第二個協(xié)議就是屬性同步 后臺會及時把技能新狀態(tài)數(shù)據(jù)同步到客戶端 當(dāng)然為了預(yù)表現(xiàn) 客戶端是可以根據(jù)技能配置展示不同的技能表現(xiàn)得 考慮到外掛修改內(nèi)存數(shù)據(jù) 我們必須可以對抗外掛 是不能信任客戶端本地數(shù)據(jù)得 那么正常來說后臺數(shù)據(jù)同步之后就需要立馬更新 以后臺數(shù)據(jù)為準(zhǔn)。有了上述流程其實(shí)一個技能得流程就可以走完了 技能從釋放到結(jié)束 主要就是客戶端本地表現(xiàn)得模擬 技能目標(biāo)玩家的模擬 我們這個只是加血 客戶端直接等待后臺協(xié)議刷新即可第12天見