APP魔法顺序笔记

以冰咆哮为例:

首先是客户端:
1、TfrmMain.ProcessKeyMessages 里面
  1.1、nMagID := GetMagIDByKey(nKey); 根据按键取得魔法ID
  1.2、调用UseMagic()函数来制造这个魔法

2、在UseMagic() 函数里面
  2.1、判断MP是否足够
  2.2、判断要生成魔法的坐标位置等信息
  2.3、g_MySelf.SendMsg()发送CM_SPELL信息

3、在TActor.ReadyAction里面拦截到CM_SPELL信息
  3.1、将信息的索引 msg.Ident改为 SM_SPELL 注意这里收到这个信息包后并没有删除UseMagic!就在同一个函数中 执行到下面的 SM_SPELL 会继续处理这个信息包

  3.3、 运行到 SM_SPELL段 取得UseMagic里面的内容 将它放入 m_CurMagic 然后删除掉这个UseMagic

4、在THumActor.CalcActorFrame

 

 

此刻才到引擎:

1、再然后引擎搜索周围的玩家 除了自己外 都发送 SM_SPELL给对方 因为自己已经执行过动画

posted on 2013-06-20 22:23  嗟夫  阅读(245)  评论(0编辑  收藏  举报

导航