十四:在世界中投放NPC/Monster Space的cell创建完毕之后, 引擎会调用base上的Space实体, 告知已经获得了cell(onGetCell),那么我们确认cell部分创建好了之后就可以开始投放NPC出生点了。 (注意:这里并不是直接将NPC/Monster创建出来,而是先在对应的位置创建了一个出生点, 出生点的好处是可以根据一定规则, 当NPC/Monster在某区域减少的时候 可以在合适的时候将其创建出来,例如:一群怪被玩家清理掉了,半小时后怪刷出。) onGetCell添加了一个刷出生点的定时器, 我们不能一次性创建出所有的出生点,因为数量可能很多, 使用定时器分批创建。
- scripts/base/space.py:
- def onGetCell(self):
- """
- KBEngine method.
- entity的cell部分实体被创建成功
- """
- self.addTimer(0.1, 0.1, SCDefine.TIMER_TYPE_SPACE_SPAWN_TICK)
复制代码
出生点的数据(实体类型、坐标、朝向等)是通过配置文件给出的,script/data/d_spaces_spawns.py与script/data/spawnpoints/xinshoucun_spawnpoints.xml 关于这2个配置的由来可以参考配置章节
- kbengine_demos_assets\scripts/base/space.py:
- def spawnOnTimer(self, tid, tno):
- """
- 出生怪物
- """
- if len(self.tmpCreateEntityDatas)
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?