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

📄 main.cpp

📁 一个RPG游戏的初级演示代码
💻 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 + -