📄 game.h
字号:
#ifndef __GMAE_H_
#define __GMAE_H_
/////////////////////////////////////////////////////////////////////////////
#include <windows.h>
/////////////////////////////////////////////////////////////////////////////
HWND g_h_wnd = NULL;
HINSTANCE g_h_instance = NULL;
bool g_b_quit = false;
int g_n_bit = 8;
int g_n_width = 640;
int g_n_height = 480;
char g_szClassName[] = "MyClass";
char g_szWindowName[]= "MyWindow";
/////////////////////////////////////////////////////////////////////////////
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE hInstance,int nCmdShow);
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam);
void KeyAction(WPARAM wParam);
WPARAM MainLoop();
void Game_Init();
void Game_UnInit();
void Game_Main();
///////////////////////////////////////////////////////////////////////////////
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wc;
memset(&wc,0,sizeof(wc));
wc.cbSize = sizeof(wc);
wc.style = CS_OWNDC;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground= (HBRUSH)GetStockObject(BLACK_BRUSH);
wc.hInstance = hInstance;
wc.lpszClassName= g_szClassName;
wc.lpszMenuName = NULL;
wc.hIconSm = LoadIcon(NULL,IDI_APPLICATION);
return RegisterClassEx(&wc);
}
BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
{
HWND hwnd;
g_h_instance = hInstance;
hwnd=CreateWindow(
g_szClassName,
g_szWindowName,
WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS,
0,0,
GetSystemMetrics(SM_CXSCREEN),
GetSystemMetrics(SM_CYSCREEN),
NULL,NULL,hInstance,NULL);
if(hwnd)
{
g_h_wnd = hwnd;
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
return TRUE;
}
return FALSE;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_ESCAPE:
{
PostMessage(hWnd,WM_CLOSE,0,0);
}
break;
default:
{
KeyAction(wParam);
}
break;
}
}
break;
case WM_CLOSE:
{
DestroyWindow( hWnd );
}
break;
case WM_DESTROY:
{
PostQuitMessage(0);
}
break;
default:
{
}
return DefWindowProc(hWnd,msg,wParam,lParam);
}
return 0;
}
WPARAM MainLoop()
{
MSG msg;
g_b_quit = false;
while( !g_b_quit )
{
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) > 0 )
{
if( msg.message == WM_QUIT )
{
g_b_quit = true;
}
else
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
else
{
Game_Main();
}
}
Game_UnInit();
return msg.wParam;
}
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
if(!MyRegisterClass(hInstance))
{
return 0;
}
if(!InitInstance(hInstance,nCmdShow))
{
return 0;
}
Game_Init();
return MainLoop();
}
//////////////////////////////////////////////////////////////////////////////
#endif //__GMAE_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -