您当前的位置: 首页 > 

Peter_Gao_

暂无认证

  • 5浏览

    0关注

    621博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

KBEngine简单RPG-Demo源码解析 二

Peter_Gao_ 发布时间:2020-01-06 22:34:45 ,浏览量:5

十四:在世界中投放NPC/Monster Space的cell创建完毕之后, 引擎会调用base上的Space实体, 告知已经获得了cell(onGetCell),那么我们确认cell部分创建好了之后就可以开始投放NPC出生点了。 (注意:这里并不是直接将NPC/Monster创建出来,而是先在对应的位置创建了一个出生点, 出生点的好处是可以根据一定规则, 当NPC/Monster在某区域减少的时候 可以在合适的时候将其创建出来,例如:一群怪被玩家清理掉了,半小时后怪刷出。) onGetCell添加了一个刷出生点的定时器, 我们不能一次性创建出所有的出生点,因为数量可能很多, 使用定时器分批创建。

  1. scripts/base/space.py:
  2. def onGetCell(self):
  3.                       """
  4.                       KBEngine method.
  5.                       entity的cell部分实体被创建成功
  6.                       """
  7.                 
  8.                       self.addTimer(0.1, 0.1, SCDefine.TIMER_TYPE_SPACE_SPAWN_TICK)
  9.                 
  10.                

复制代码

出生点的数据(实体类型、坐标、朝向等)是通过配置文件给出的,script/data/d_spaces_spawns.py与script/data/spawnpoints/xinshoucun_spawnpoints.xml 关于这2个配置的由来可以参考配置章节

  1. kbengine_demos_assets\scripts/base/space.py:
  2. def spawnOnTimer(self, tid, tno):
  3.           """
  4.           出生怪物
  5.           """
  6.           if len(self.tmpCreateEntityDatas)
关注
打赏
1664521772
查看更多评论
立即登录/注册

微信扫码登录

0.1856s