KBEngine环境搭建
请参考:http://kbengine.org/cn/docs/build.html
由于KBEngine下载及环境搭建过程网上教程很多,这里就不做说明了。
新建工程
新建UE4工程,选择C++第三人称模版
复制插件到{ProjectName}\Plugins\KBEnginePlugins下
关闭UE4,右键重新生成VS工程
打开*.Build.cs,添加"KBEnginePlugins"
文件路径:{ProjectName}\Source\{ProjectName}\{ProjectName}.Build.cs
创建Actor蓝图类,命名为ClientApp(clientapp:在KBE的体系中抽象出一个客户端APP,其中包含KBE客户端插件的初始化和销毁等等。)
打开蓝图添加KBEMain组件
设置组件的参数(后面具体说明,现在先保持默认)
KBE实体定义(包括客户端部分)
补充说明(摘自kbengine_ue4_demo结构与示意说明 )
kbe_scripts\Account:
对应KBE服务端的账号实体的客户端部分。
kbe_scripts\Avatar:
对应KBE服务端的账游戏中玩家实体的客户端部分。
kbe_scripts\Monster:
对应KBE服务端的怪物实体的客户端部分。
kbe_scripts\interfaces\:
对应KBE中entity_defs\interfaces中所声明的模块。
参考: kbengine\kbengine_demos_assets\scripts\entities.xml,hasClient="true" need to implment
<Account hasClient="true"></Account>
<Monster hasClient="true"></Monster>
<Gate hasClient="true"></Gate>
<Space/>
在客户端项目中新建类Account继承Entity
class Account : public Entity
{
// entity initialization
virtual void __init__() override
{
}
}
下面增加两个测试方法:客户端发送及接受服务器返回的消息
void reqSendTest();
void onAcceptTest();
绑定onAcceptTest()
/*
声明所有的KBE实体的属性和方法
例子:
#define ENTITYDEF_DECLARE_[module name of Entity](PARENT_MODULE) \
ENTITYDEF_PROPERTY_*(PARENT_MODULE, xx_property) \
ENTITYDEF_METHOD_ARGS[0~20]_REGISTER(PARENT_MODULE, xx_method)
*/
#define ENTITYDEF_DECLARE_Account(PARENT_MODULE) \
ENTITYDEF_METHOD_ARGS1_REGISTER(PARENT_MODULE, onAcceptTest)
在.cpp中注册自己的类