📄 main.cpp
字号:
#include "Main.h"
HWND hwnd;
WNDCLASS wc;
BOOL progActive; //程序是否激活
RECT rect; //矩形,全局变量
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
InitWindow(hInstance, nCmdShow);
game = new Game;
game->Init();
while(1)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message==WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else if(progActive)
{
game->Refresh();
};
}
return msg.wParam;
}
static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow )
{
WNDCLASS wc;
wc.style = NULL;
wc.lpfnWndProc = (WNDPROC)WinProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = "KANE_PENG_RPG";
RegisterClass(&wc);
hwnd = CreateWindow("KANE_PENG_RPG",
"A Simple RPG",
WS_POPUP|WS_MAXIMIZE,0,0,
GetSystemMetrics( SM_CXSCREEN ),
GetSystemMetrics( SM_CYSCREEN ),
NULL,NULL,hInstance,NULL);
if( !hwnd ) return FALSE;
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
return TRUE;
}
LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_ACTIVATEAPP:
progActive = wParam;
break;
case WM_SETCURSOR:
SetCursor(NULL);
break;
case WM_LBUTTONDOWN:
sprite->MoveTo(LOWORD(lParam)-320+sprite->x,HIWORD(lParam)-240+sprite->y);
break;
case WM_KEYDOWN:
switch(wParam)
{
case VK_ESCAPE:
delete game;
PostQuitMessage(0);
break;
}
break;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
//帮助创建矩形的函数
void MakeRect(int left, int top, int right, int bottom)
{
rect.bottom=bottom;
rect.left=left;
rect.right=right;
rect.top=top;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -