首页 > 代码库 > 技能

技能

客户端方面简单的说就是播放特效和动作

服务端方面大致的包

  吟唱包 参数 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,常规结算 播放对应特效和的动作(非循环)

 

简单的这样做,会因为网络延迟导致弹道效果没有打击感

解决方案

  服务器提前发送结算数据包

  客户端在收到释放包马上做火球的表现同时查表得到速度飞向敌人,在收到服务器结算包(提前)的时候于服务器同步时间计算飞行结束时间,然后做受击表现,也就是说在火球飞到敌人身上的时候给敌方做动作,同时冒字,特效表现,音效等等.