游戏引擎负责处理各种琐碎事务:组件游戏,确保它正确运行及关闭它。将游戏分解为事件:
下面这些事件只适用于任何游戏的部分核心事件:
    初始化
    启动
    结束
    激活
    停用
    绘制
    循环
 
初始化事件在一开始运行游戏时发生,这时游戏执行重要的初始设置任务,包括创建游戏引擎本身。启动和结束事件对应于游戏的开始和结束,这时很适合执行与特定的游戏会话相关联的初始化和清理任务。在最小化游戏或者将其发送至后台,然后在恢复时,就将发生激活和停用事件。当游戏需要绘制自身时,将发送绘制事件,类似于WINDOWS WM_PAINT 消息。最后,循环事件使游戏执行一个单独的游戏周期,它非常重要。
 
游戏的计时机制:游戏在指定的时间内运行的周期越多,看起来就越平滑。事实上,大多数游戏设置都在15 - 16周期每秒的范围内,最快的速度可能达到30周期每秒,比电影还快。除了极少数的一些情况外,应该力求达到的最低速度设置为12周期每秒。
游戏引擎的类:
游戏引擎及其间单实现#ifndef _GAMEENGINE_H
游戏引擎及其间单实现
#define _GAMEENGINE_H
游戏引擎及其间单实现#include 
<windows.h>
游戏引擎及其间单实现
游戏引擎及其间单实现
//游戏事件
游戏引擎及其间单实现
BOOL GameInitialize(HINSTANCE hInstance);     //初始化
游戏引擎及其间单实现
void GameStart(HWND hWnd);                    //启动
游戏引擎及其间单实现
void GameEnd();                               //结束
游戏引擎及其间单实现
void GameActivate(HWND hWnd);                 //激活
游戏引擎及其间单实现
void GameDeactivate(HWND hWnd);               //停用
游戏引擎及其间单实现
void GamePaint(HDC hdc);                      //绘制
游戏引擎及其间单实现
void GameCycle();                             //循环
游戏引擎及其间单实现
游戏引擎及其间单实现
游戏引擎及其间单实现
//游戏引擎类
游戏引擎及其间单实现
class GameEngine
#endif

其实现文件如下:

游戏引擎及其间单实现#include "GameEngine.h"
游戏引擎及其间单实现
游戏引擎及其间单实现
//静态成员初始化
游戏引擎及其间单实现
GameEngine * GameEngine::m_pGameEngine=NULL;
游戏引擎及其间单实现
//构造成员函数
游戏引擎及其间单实现
GameEngine::GameEngine(HINSTANCE hInstance,LPSTR szWndClass,LPSTR szTitle,
游戏引擎及其间单实现                       WORD wIcon,WORD wSmallIcon,
int iWidth,int iHeight)

其使用方法:

xxx.h文件要先声明一个全局游戏引擎指针。

游戏引擎及其间单实现#include "resource.h"
游戏引擎及其间单实现#include 
"GameEngine.h"
游戏引擎及其间单实现
游戏引擎及其间单实现GameEngine 
* g_pGame; //全局游戏引擎指针

然后xxx.cpp文件包含该xxx.h文件,在实现相应的游戏事件:

游戏引擎及其间单实现#include "Blizzard.h"
游戏引擎及其间单实现
游戏引擎及其间单实现BOOL GameInitialize(HINSTANCE hInstance)
}

相关文章: