📄 gameengine.h
字号:
#pragma once
#include <windows.h>
#include <mmsystem.h>
//--------------------------------------------------------------------------
//windows函数声明
//--------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow);
LRESULT CALLBACK WndProc(HWND hWindow,UINT msg,WPARAM wParam,LPARAM lParam);
//--------------------------------------------------------------------------
//游戏引擎函数声明
//--------------------------------------------------------------------------
BOOL GameInitialize(HINSTANCE hInstance);
void GameStart(HWND hWindow);
void GameEnd();
void GameActivate(HWND hWindow);
void GameDeactivate(HWND hWindow);
void GamePaint(HDC hDC);
void GameCycle();
void HandleKeys();
void MouseButtonDown(int x, int y, BOOL bLeft);
void MouseButtonUp(int x, int y, BOOL bLeft);
void MouseMove(int x, int y);
//--------------------------------------------------------------------------
//GameEngine类
//--------------------------------------------------------------------------
class GameEngine
{
protected:
//-----------------引擎成员变量---------------
static GameEngine* m_pGameEngine; //一个指向自己的静态指针,用于游戏程序的外部访问
HINSTANCE m_hInstance; //将游戏程序的应用程序实例存储在游戏引擎中
HWND m_hWindow; //将游戏程序的主窗口句柄存储在游戏引擎中
TCHAR m_szWindowClass[32]; //窗口类的名称
TCHAR m_szTitle[32]; //主游戏的窗口
WORD m_wIcon,m_wSmallIcon; //游戏的两个程序图标的数字ID
int m_iWidth,m_iHeight; //游戏屏幕的宽度和高度
int m_iFrameDelay; //游戏周期之间间隔的时间(单位是毫秒)
BOOL m_bSleep; //表示游戏是否在休眠(暂停)
public:
//-----------------构造函数/析构函数------------
GameEngine(HINSTANCE hInstance,LPTSTR szWindowClass,LPTSTR szTitle,WORD wIcon,WORD wSmallIcon,int iWidth = 640,int iHeight =480);
virtual ~GameEngine();
//------------------常规方法--------------------
static GameEngine* GetEngine() { return m_pGameEngine;};
BOOL Initialize(int iCmdShow);
LRESULT HandleEvent (HWND hWindow,UINT msg,WPARAM wParam,LPARAM lparam);//负责处理游戏引擎内的标准windows事件
//-----------------访问方法---------------------
HINSTANCE GetInstance() { return m_hInstance;};
HWND GetWindow() { return m_hWindow;};
void SetWindow(HWND hWindow) { m_hWindow = hWindow;};
LPTSTR GetTitle() { return m_szTitle;};
WORD GetIcon() { return m_wIcon;};
WORD GetSmallIcon() { return m_wSmallIcon;};
int GetWidth() { return m_iWidth;};
int GetHeight() { return m_iHeight;};
int GetFrameDelay() { return m_iFrameDelay;};
void SetFrameRate(int iFrameRate) { m_iFrameDelay = 1000/iFrameRate;};//设置游戏引擎的帧频
BOOL GetSleep() { return m_bSleep;};
void SetSleep(BOOL bSleep) { m_bSleep = bSleep;};
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -