Win32拳皇元源代码

本文档展示了如何使用C++在Win32环境下编写一个简单的拳皇游戏Demo,包括游戏初始化、窗口设计、GDI贴图、键盘事件处理以及背景音乐播放等功能。代码中涉及了窗口类注册、设备上下文、位图操作以及游戏循环等关键部分。
摘要由CSDN通过智能技术生成

/********************************************************************************
  文件名称: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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值