/********************************************************************************
文件名称:main。cpp
文件描述:实现一个拳皇的demo
编译环境:VS2022
最后修改:
<2022/3/23> <创建工程> <VS翻涌>
2,实现GDI贴图
2.1基本贴图
2.2三缓冲贴图
2.3透明贴图 Msing32.lib 一个库文件
*********************************************************************************/
#include <windows.h>
#include <mmsystem.h>//包含多媒体接口的头文件
#pragma comment(lib,"winmm.lib")//包含多媒体接口的库文件
#pragma comment(lib,"Msimg32.lib")//透明贴图
#include "resource.h"
HDC g_hdc, g_memdc, g_bufdc;//窗口设备,缓存设备,缓冲设备
HBITMAP g_backbitmap, g_personbmp; //环境背景和人物背景
HBITMAP g_personSkillA, g_personSkillS, g_personSkillD;//A S D技能
DWORD g_timePer, g_timeNow;
int g_backNUM=0; //背景编号
int g_personSkillNumD = 0, g_personSkillNumS = 0,g_personSkillNumA = 0;
int personNUM = 0;
int g_direction = 0; //作为判断放技能的标志
int g_personX = 200, g_personY = 340;
#define WINDOW_CLASS L"TanZhouEDU" //窗口的类名称
#define WINDOW_WIDTH 800 //窗口的宽
#define WINDOW_HEIGHT 500 //窗口的高
#define WINDOW_TITLE L"PlaneGame" //窗口的标题
BOOL GameInit(HWND hWnd);
BOOL GameClearUp(HWND hWnd);
void GamePaint(HWND hWnd);
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam);
int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE prehInstance,
LPSTR lpCmdLine, int nSHowCmd)
{
//1 设计窗口
WNDCLASSEX wnd = { 0 }; //定义一个窗口类
wnd.cbSize = sizeof(WNDCLASSEX); //用于存放窗口数据的内存大小
wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //窗口的背景为白色
wnd.hCursor = LoadCursor(NULL, IDC_ARROW); //窗口的鼠标样式
wnd.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_ICON1)); //bmp jpg png ico
wnd.cbClsExtra = 0;
wnd.cbWndExtra = 0;
wnd.hInstance = hinstance;
wnd.lpszClassName = WINDOW_CLASS;
wnd.lpszMenuName = NULL;
wnd.style = CS_HREDRAW | CS_VREDRAW; //矩形
wnd.lpfnWndProc = WndProc; //窗口的过程函数 //2 注册窗口 看一下 设计的这个窗口 符不符合.
if (!RegisterClassEx(&wnd))
return -1;
//3 创建窗口
HWND hWnd = CreateWindow(WINDOW_CLASS, WINDOW_TITLE, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, WINDOW_WIDTH, WINDOW_HEIGHT,
//决定窗口出现的位置 窗口的宽和高
NULL, NULL, hinstance, NULL);
//4