情景
一个技能会以旋转的形式扫过一个区域,技能持续时间内,扫过的区域的敌人受到技能伤害
方案1
- 服务器每帧给出命令设置技能表现的旋转角度,让客户端技能的表现物体进行旋转或者移动
缺点:
假如服务器是30帧或者更低,那么动画会出现明显的卡顿现象,但是却不是卡顿,只是帧率不够
如果帧率不稳定,会出现真正的卡顿
优点:
简单好做
方案2
- 服务器只在技能释放时给出旋转的起始角度和动画信息,后续的动画由客户端自行播放
案例:
初始时设置一个起始值initVal,变化速度speed,目标值targetVal
在本地更新函数中改变数据
onLocalUpdate(deltaTime)
curVal += (deltaTime * speed)
if curVal > targetVal
curVal = targetVal
setAnimationWith(currentVal)
缺点:
- 工作量大
优点:
- 动画和技能表现平滑,视觉效果好