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