?? main.cpp
字號:
#include "windows.h"
#include "game.h"
#include "stdio.h"
#include "mmsystem.h"
#pragma comment(lib,"winmm.lib")
#define WIDTH 800
#define HEIGHT 600
CGame* g_Game;
BOOL g_bActive = FALSE;
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpszCommandLine, int cmdShow)
{
char ClassName[] = "bomb";
char WindowName[] = "泡泡堂";
WNDCLASSEX wc;
HWND hWnd;
MSG msg;
// 注冊窗口類
wc.cbClsExtra = 0;
wc.cbSize = sizeof( WNDCLASSEX );
wc.cbWndExtra = 0;
wc.hbrBackground = ( HBRUSH ) GetStockObject( WHITE_BRUSH );
wc.hCursor = (HCURSOR)LoadCursor(NULL,IDC_ARROW);
wc.hIcon = NULL;
wc.hIconSm = NULL;
wc.hInstance = hInstance;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = ClassName;
wc.lpszMenuName = NULL;
wc.style = CS_HREDRAW | CS_VREDRAW;
RegisterClassEx( &wc );
// 創建窗口
hWnd = CreateWindow( ClassName, WindowName, WS_OVERLAPPEDWINDOW,
(GetSystemMetrics(SM_CXFULLSCREEN)-WIDTH)/2,
(GetSystemMetrics(SM_CYFULLSCREEN)-HEIGHT)/2, WIDTH, HEIGHT, NULL, NULL, hInstance, NULL );
// 顯示窗口
ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );
ShowCursor(FALSE);
// 初始化
g_Game = new CGame;
g_Game->Create(hWnd, hInstance);
// 消息循環
PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
{
// 處理消息
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else if( g_bActive )
{
// 沒有消息,處理場景
g_Game->Run();
}
}
delete g_Game;
UnregisterClass(ClassName,hInstance);
return (int)msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_KEYDOWN:
switch (wParam)
{
case VK_ESCAPE:
PostQuitMessage(0);
break;
default:
break;
}
case WM_MOVE:
if( g_Game )
g_Game->m_pDraw->UpdateBounds();
break;
case WM_SIZE:
if( SIZE_MAXHIDE==wParam || SIZE_MINIMIZED==wParam )
g_bActive = FALSE;
else
g_bActive = TRUE;
if( g_Game )
g_Game->m_pDraw->UpdateBounds();
break;
case WM_PAINT:
if( g_Game )
g_Game->Run();
break;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -