为什么不更新kbe warring的代码解读了,因为在我看来那个demo讲完了实体就没东西可讲了,如果专心的看官方文档和PPT的话demo的代码后面没任何难点了已经,单纯的复制黏贴代码实在太过无聊。程序员一定要做点好玩的事情才行~
好吧,今天开始想法直接改引擎底层,争取把引擎底层直接玩坏(*^__^*)
另外因为平时工作比较忙,这个系列会不定期的更新。
从自己的HelloWorld写起
先来点简单的,baseapp脚本层调用一个自定义的C++函数,输出helloworld!
因为是baseapp的特有C++函数,所以我们需要打开baseapp项目的文件进行修改,这里我选baseapp.h和baseapp.cpp
为避免复制黏贴多余的代码,所以只写核心部分
baseapp.h

class Baseapp : public EntityApp<Base>,
public Singleton<Baseapp>
{
public:
//added by lsm
static PyObject* __py_findAvatarByName(PyObject* self, PyObject* args);
protected:
}

baseapp.cpp

//-------------------------------------------------------------------------------------
bool Baseapp::installPyModules()
{
Base::installScript(getScript().getModule());
Proxy::installScript(getScript().getModule());
GlobalDataClient::installScript(getScript().getModule());
registerScript(Base::getScriptType());
registerScript(Proxy::getScriptType());
// 将app标记注册到脚本
std::map<uint32, std::string> flagsmaps = createAppFlagsMaps();
std::map<uint32, std::string>::iterator fiter = flagsmaps.begin();
for (; fiter != flagsmaps.end(); ++fiter)
{
if (PyModule_AddIntConstant(getScript().getModule(), fiter->second.c_str(), fiter->first))
{
ERROR_MSG(fmt::format("Baseapp::onInstallPyModules: Unable to set KBEngine.{}.\n", fiter->second));
}
}
// 注册创建entity的方法到py
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), time, __py_gametime, METH_VARARGS, 0);
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBase, __py_createBase, METH_VARARGS, 0);
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBaseLocally, __py_createBase, METH_VARARGS, 0);
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createEntity, __py_createBase, METH_VARARGS, 0);
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBaseAnywhere, __py_createBaseAnywhere, METH_VARARGS, 0);
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBaseRemotely, __py_createBaseRemotely, METH_VARARGS, 0);
APPEND_SCRIPT_MODULE_METHOD(getScript().getModule(), createBaseFromDBID, __py_createBaseFromDBID, METH_VARARGS, 0);
A

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



