此笔记参考官方文档

第一个项目

资产库:是每一个项目文件夹的名称,使用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部分一般在客户端上进行实现,不在服务端范围内

创建实体对象。在引擎端调用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回调函数

转载于:https://www.cnblogs.com/bbdr/p/10535752.html

KBE_创建项目和基本常识相关推荐

  1. 微软SCRUM 1.0流程模板在中文版TFS2010上无法创建项目的解决办法(续)

    原文: http://www.almnetworks.net/zh-CN/post/2010/08/04/Microsoft-Visual-Studio-Scrum-10-Template-on-Ch ...

  2. 1.3创建项目「深入浅出ASP.NET Core系列」

    控制台创建项目 dotnet new --help 使用控制台采集项目,务必要熟练使用命令,--help是命令帮助的指明灯,在你无法google的时候,可以离线状态最快的帮助到你. 根据模板名称,我们 ...

  3. 【一步步学小程序】1.创建项目以及TabBar

    1.创建项目 如图,创建项目,输入项目名称.选择目录,AppID是唯一标识,我们可以先点如图红框内的测试号,自动生成一个AppID,然后点新建即创建完一个新项目. 2.创建3个页面 确保如图左上角的编 ...

  4. Android Studio创建项目

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/47000873 创建项目 首先,先指出Andr ...

  5. Django项目准备和配置(MVT图解、创建项目和应用、更换解释器、安装应用、本地化、模板路径、项目中匹配urls、应用中匹配urls.py、准备视图、开启服务器、修改DATABAS配置信息)

    Django模型主要包含: 模型配置 数据的增删改 增:book = BookInfo() book.save() 和BookInfo.objects.create() 删:book.delete() ...

  6. 如何在Leangoo中,为企业创建项目

    Leangoo(中文名:领歌)是一款基于看板的项目协作工具. 我们可以使用 Leangoo 可视化地进行项目需求.任务.问题和文档的管理和协作,随时随地跟踪团队工作进展.Leangoo 工具的设计融入 ...

  7. Windows下在Django中创建项目时ImportError: No module named django.core解决方法

    Windows下在Django中创建项目时ImportError: No module named django.core解决方法 今天在对照<Python编程:从入门到实践>学## 标题 ...

  8. django创建项目,创建app以及调用templates(模版)和static(静态文件)的方法

    # django创建项目,创建app以及调用templates和static的方法 创建项目project 检查django的版本.我用的是2.2.1版本 打开终端,输入命令: python -m d ...

  9. 升级vue-cli为 cli3 并创建项目

    一.升级npm install -g @vue/cli 二.创建项目 1.vue  create vue3-project 下面会提示让你配置下自己想要用到的功能,然后它会自动帮你安装,这个看自己需求 ...

最新文章

  1. 从零开始学Go之接口(一):接口
  2. 【实战教程】NLP-Beginner:自然语言处理入门练习
  3. wordpress 重新生成附件文件名
  4. Machine Learning-Introduction
  5. Python中单线程、多线程与多进程的效率对比实验
  6. 【NLP】医学AI又一突破,微软开源生物医学NLP基准:BLURB
  7. 为什么谐振时电抗为0_220KV/110KVCVT互感器串联谐振试验装置技术方案
  8. HashMap之扰动函数和低位掩码
  9. Q91:真实地模拟透明材质(Realistic Transparency)
  10. 企业***网的规划及组建
  11. Android Key Hash的生成
  12. [Django学习] Django基础(8)_富文本编辑器
  13. node爬取cnode首页数据
  14. python和jieba库进行简单文本处理之天龙八部小说
  15. Win10更新失败的解决办法
  16. python语言入门(一)
  17. 树莓派改造成通用计算机,218元!树莓派电脑板成功改造完整便携式电脑(图)...
  18. java flappy bird_Java实例---flappy-bird实例解析
  19. iis日志分析 seo必备技能
  20. java75-GUL文本框和标签

热门文章

  1. 【操作系统】-同步互斥-【2019真题】-有n位哲学家围在一张圆桌边..
  2. 【ESP32】按键驱动,长按、短按,可设置多个按键
  3. java高级特性增强01
  4. 回顾我两个月面试阿里、携程、小红书、美团、网易等等(Java岗)
  5. 四、Eureka注册中心集群配置
  6. div css文字字体行高行距 深入理解css行间距设置
  7. 百度地图android兼容,Android百度地图SDK无法支持64位平台完美解决方案
  8. 绘制学习曲线,以确定模型的学习状况
  9. 一物一码(9): 【一物一码营销涉及的微信基础知识】
  10. 笔记:C#_OOP_1_入门:基本剑术