客户端方面简单的说就是播放特效和动作
服务端方面大致的包
吟唱包 参数 skill_no, interval
释放包
细分
打点 skill_no, interval
打人 skill_no, src_eid, interval
常规释放 skill_no
结算包
细分
哑炮 skill_no
miss skill_no
常规结算 skill_no, src_eid, hp
客户端依据服务端做相应的表现
吟唱包 播放吟唱特效和动作(特效,动作均是循环的),同时还有ui表现,比如吟唱条
释放包
常规释放 播放释放特效和动作(循环特效,非循环动作)
弹道释放 播放弹道特效(循环特效,这里应该没有动作)
结算包
哑炮,miss,常规结算 播放对应特效和的动作(非循环)
简单的这样做,会因为网络延迟导致弹道效果没有打击感
解决方案
服务器提前发送结算数据包
客户端在收到释放包马上做火球的表现同时查表得到速度飞向敌人,在收到服务器结算包(提前)的时候于服务器同步时间计算飞行结束时间,然后做受击表现,也就是说在火球飞到敌人身上的时候给敌方做动作,同时冒字,特效表现,音效等等.
原文:http://www.cnblogs.com/iamkevin/p/3700622.html