MainLoop–游戏主循环
简单的程序主要分为两个线程,一个线程负责处理界面刷新(一般需要较高FPS),另一个线程负责处理程序逻辑(刷新频率较低),此篇文章主要介绍游戏的逻辑线程,我称之为GameMainLoop(以下简称ML)。
基本的ML很简单,定义逻辑刷新频率,定义刷新执行事件,我们直接来看代码
MainLoop.h
//headers...
typedef std::function<void()> MainLoopFunc;
class MainLoop: public Singleton<MainLoop>
{
public:
#define MAIN_LOOP_FPS 1
MainLoop();
~MainLoop();
protected:
MainLoopFunc _loopfuncCallBack;