此笔记参考官方文档

第一个项目

资产库:是每一个项目文件夹的名称,使用KBE提供的生成工具生成一个最小资产库,其中包含了很多常用的工具,默认名server_assets:

res:放置一些资源(入地图资源,res/spaces目录下)以及当前项目的服务器配置(res/server目录下);

scripts:脚本的文件夹,所有脚本开发都在该文件夹下进行,引用自官方手册;

base: Baseapp上的脚本存放位置
bots: Bot机器人的脚本存放位置
cell: Cellapp上的脚本存放位置
common: 脚本开发中共用的一些模块的存放位置,如Functor、KBEDebug等工具模块
data: 存放数据的位置,比如策划配置好的表格等(一般是py文件,而非excel文件),可以在脚本开发时快速获取到对应的数据对象
db: DBMgr上的脚本存放位置
entity_defs: Entity的配置文件存放位置
interface: 第三方接口服务器的脚本存放位置
logger: 日志服务器的脚本
login: Loginapp的脚本存放位置
user_type: 用户自定义的数据类型的实现脚本的存放位置
entities.xml: Entity实体声明文件,用到的Entity需要在此进行声明,否则无法使用

第一个entity

创建一个entity的实体,它包含如下几个部分:

  1. entity 的声明({项目资产库}/scripts/entities.xml)
    声明过后,引擎才知道它的存在。
  2. 配置,即def配置文件的编写({项目资产库}/scripts/entity_defs/FirstEntity.def)
    该文件是一个entity的完整描述文件,从而让引擎及服务器各个组件知道这个entity有哪些能力(方法和属性)
  3. python脚本的实现。每个entity最多有三个部分的实现(client/cell/base)
    • ({项目资产库}/scripts/base/FirstEntity.py)如果有Baseapp上的功能需求,则需要有对应的base实现
    • ({项目资产库}/scripts/cell/FirstEntity.py)如果有cellapp上的功能需求,则需要有对应的cell实现
    • client部分一般在客户端上进行实现,不在服务端范围内
  4. 创建实体对象。在引擎端调用API来创建该实体对象,相当于实例化实体。

第一个Space

space空间是cell上的一个抽象概念,每个space相当于一个空间,它可以是一个场景,一个副本,一个房间等

不在同一个space的客户端无法互动,通讯。

创建一个space:

  1. entity声明({项目资产库/scripts/entities.xml})
    在该文件下添加FirstSapce
  2. def配置({项目资产库/scripts/entity_defs/FirstSpace.def})
  3. python实现({项目资产库/scripts/base/FirstSpace.py})
    空间实体继承自:KBEngine.Space
  4. cell部分的实现({项目资产库/scripts/cell/FirstSpace.py})
  5. 在baseapp就绪时创建空间({项目资产库/scripts/base/kbemain.py})
    在kbemain.py中的onBaseAppReady函数中添加创建空间实体的语句

让entity进入space空间

这里我们让entity在客户端链接服务器并和entity关联时,就立马进入空间

{项目资产库/scripts/base/FirstEntity.py},添加onClientEnable回调函数

最新文章

  1. 【BZOJ1011】【HNOI2008】遥远的行星(乱搞)
  2. 小结:ac自动机
  3. Extjs4.2纯前台导出Excel总结
  4. iOS开发——常识swift篇&随机数获取
  5. xml_03
  6. 三种排序算法python源码——冒泡排序、插入排序、选择排序
  7. idea配置tomcat.md
  8. Android - 用Fragments实现动态UI - 创建灵活的UI
  9. eclipse下进行spark开发(已实践)
  10. putty怎么用?如何使用Putty远程管理Linux主机
  11. android解析网络json数据(1)
  12. Docker 容器日志格式化
  13. 用同一台PC的两个网口实现Iperf的server端和client端
  14. [leetcode-117]填充每个节点的下一个右侧节点指针 II
  15. RDLC 图形报表预览时 “本地报表处理期间错误”
  16. linux:apt-get 如何安装,查询,解除依赖包
  17. linux shell 脚本攻略学习16--wc命令详解,tree命令详解
  18. u3d udp服务器
  19. C# 字典 Dictionary 遍历
  20. Storm ack和fail机制再论

热门文章

  1. Luogu P1273 有限电视网【树形Dp/树形背包】
  2. Java Genericity
  3. SQL 初级教程学习(四)
  4. 【react native】有关入坑3个月RN的心路历程
  5. [USACO 2011 Dec Gold] Cow Calisthenics【二分】
  6. java 字符串的比较compareTo
  7. 【转】在Ubuntu中安装HBase
  8. 转】用Mahout构建职位推荐引擎
  9. LN : leetcode 712 Minimum ASCII Delete Sum for Two Strings
  10. Program received signal SIGILL, Illegal instruction