minetest源码解析一:mymain流程图以及核心函数介绍
mymain流程图以及核心函数介绍
一 流程图
二 流程图中涉及到的核心函数介绍
1.创建游戏回调函数
minetest->mainmenumanager.h
g_gamecallback = newMainGameCallback(device);
MainGameCallback : IGameCallback
class IGameCallback
{
public:
virtualvoid exitToOS() = 0;
virtualvoid disconnect() = 0;
virtualvoid changePassword() = 0;
virtualvoid changeVolume() = 0;
};
这个主要是游戏中弹出的一个界面。
2.创建输入处理器
InputHandler *input = newRealInputHandler(device, &receiver);
这个主要是游戏中截取鼠标key、鼠标、滚轮事件。
3.设置环境界面的各种颜色以及字体
gui::IGUISkin* skin =guienv->getSkin();
skin->setFont(font);
skin->setColor(gui::EGDC_3D_HIGH_LIGHT,video::SColor(255,0,0,0));
…
4.创建云SceneNode
主要是run game时,在点击start game之后,但是游戏真实界面还没有出来之间使用的。这个之间需要显示一些连接服务器、loading的信息。
g_menuclouds:是一个场景,需要g_menucloudsmgr->drawAll();