【游戏程序设计】鼠标交互

鼠标控制多边形移动与射击。

运行结果:

源代码:

#include <windows.h>
#include <tchar.h>
#pragma comment(lib, "winmm.lib")									//调用PlaySound函数所需库文件t
#pragma comment(lib, "Msimg32.lib")

#define WINDOW_WIDTH 800
#define WINDOW_HEIGHT 600
#define WINDOW_TITLE L"【游戏程序设计】鼠标交互"

struct Missiles														//结构体代表导弹
{
	int x,y;														//导弹坐标
	bool exsit;														//导弹是否存在
};

HINSTANCE hInst;
HDC hdc, mdc, bufdc;												//全局设备环境句柄与全局内存DC句柄
HBITMAP hJ10, hMissibles, hBackGround;								//各个位图存储人物,导弹,背景
HFONT hFont;														//字体
DWORD g_iNow, g_iPre;												//声明两个变量来记录时间,g_tPre记录上一次绘图的时间,g_tNow记录此次准备绘图的时间
int g_iX, g_iY, g_iXNow, g_iYNow;									// 代表鼠标光标所在位置,g_iXNow,g_iYNow代表当前人物坐标,也就是贴图的位置
int g_iBulletNum, g_iBGOffset;										//g_iBGOffset为滚动背景所要裁剪的区域宽度,g_iBulletNum记录剑侠现有导弹数目
HWND hwnd;		
Missiles Bullet[30];												//声明一个Missiles类型的数组,用来存储剑侠发出导弹。

int  MyWindowClass(HINSTANCE);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void MyDraw(HWND);

/*****************************************************************************************************************
在不同的应用程序中,在此处添加相关的全局变量
******************************************************************************************************************/
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPreInstace,
									LPSTR lpCm
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值