⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gameengine.h

📁 [简介] 名称: 《拼图》-附源代码 (代码行数:747 注释行数:164) 开发环境:WinXp+VC.Net2005+Win32 API 作者:mj 联系方式:mj055@yahoo.
💻 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 + -