情景
一個技能會以旋轉的形式掃過一個區域,技能持續時間內,掃過的區域的敵人受到技能傷害
方案1
- 服務器每幀給出命令設置技能表現的旋轉角度,讓客戶端技能的表現物體進行旋轉或者移動
缺點:
假如服務器是30幀或者更低,那麼動畫會出現明顯的卡頓現象,但是卻不是卡頓,只是幀率不夠
如果幀率不穩定,會出現真正的卡頓
優點:
簡單好做
方案2
- 服務器只在技能釋放時給出旋轉的起始角度和動畫信息,後續的動畫由客戶端自行播放
案例:
初始時設置一個起始值initVal,變化速度speed,目標值targetVal
在本地更新函數中改變數據
onLocalUpdate(deltaTime)
curVal += (deltaTime * speed)
if curVal > targetVal
curVal = targetVal
setAnimationWith(currentVal)
缺點:
- 工作量大
優點:
- 動畫和技能表現平滑,視覺效果好