C语言+EasyX 鼠标控制角色移动

昨天的角色移动是键盘控制角色,今天做了改进,用鼠标控制角色移动
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
int num = 0;
double x0 = 0;
double y2 = 450;
double x1;
double y3;
double term;
double mx;
double my;
IMAGE background, boy1, boy2;
MOUSEMSG m,m1;
void InitInstance()
{
	loadimage(&background, "background.jpg");//加载游戏背景
	loadimage(&boy1, "boy1.bmp");//背景图
	loadimage(&boy2, "boy2.bmp");//屏蔽图
}
void Interface()//初始化基本数据
{
	initgraph(1024, 768);//初始化画布大小
	putimage(0, 0, &background);
	putimage(double (x0), double (y2), 70, 124, &boy2, 70 * num, 124 * 2, SRCAND);//角色初始位置
	putimage(double (x0), double (y2), 70, 124, &boy1, 70 * num, 124 * 2, SRCPAINT);
}
//左
void Left()
{
	void Key_Down();
	switch (m.uMsg)
	{
	case WM_LBUTTONDOWN://判断鼠标左键按下
		//往左走
		while (1)
		{
			//switch (m1.uMsg)
			//{
			//case WM_LBUTTONDOWN:
			//	m.x = m1.x;//想改变mx,my的值,重新给角色一个坐标,达到中途改变路线的目的
			//	m.y = m1.y;
			//	Key_Down();
			//	break;
			//}
			if (x0 <= (mx - 35) )//当角色走到目的地时跳出死循环
			{
				break;
			}
			putimage(0, 0, &background);//贴背景
			putimage(x0, y2, 70, 124, &boy2, 70 * num, 124 * 1, SRCAND);//屏蔽图
			putimage(x0, y2, 70, 124, &boy1, 70 * num, 124 * 1, SRCPAINT);//背景图
																		  //当角色走完一套动作时,回到初始动作
			num++;
			if (num == 4)
				num = 0;
			Sleep(70);//调整角色跨步时间
					  //跨步距离
			x0 -= 7.5;
		}
		break;
	}
}
void Right()
{
	void Key_Down();
	switch (m.uMsg)
	{
	case WM_LBUTTONDOWN://判断鼠标左键按下
						//在鼠标左键按下位置记录坐标每项,mx,my
						//往右下角走
		while (1)
		{
  • 4
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值