C语言+EasyX编写键盘控制角色移动

来源:互联网 发布:网络购物合同纠纷 编辑:程序博客网 时间:2024/05/16 16:57
今天用C语言+EasyX写一个键盘控制角色移动的项目
原理其实和前面写的贴图的打字母游戏差不多
#include<graphics.h>#include<stdio.h>#include<conio.h>IMAGE background, boy1, boy2;int num = 0;int x0 = 0;int y0 = 450;void InitInstance(){loadimage(&background, "background.jpg");//加载游戏背景loadimage(&boy1, "boy1.bmp");//背景图loadimage(&boy2, "boy2.bmp");//屏蔽图}void Interface()//初始化基本数据{initgraph(1024, 768);//初始化画布大小putimage(0, 0, &background);putimage(x0, 450, 70, 124, &boy2, 70 * num, 124 * 2, SRCAND);//角色初始位置putimage(x0, 450, 70, 124, &boy1, 70 * num, 124 * 2, SRCPAINT);}void key_Down(){char key = _getch();//Sleep(30);switch (key)//获取按键{//向上case 72:case 'w':case 'W':putimage(0, 0, &background);putimage(x0, y0, 70, 124, &boy2, 70 * num, 124 * 3, SRCAND);putimage(x0, y0, 70, 124, &boy1, 70 * num, 124 * 3, SRCPAINT);num++;if (num == 4)num = 0;y0 -= 7;if (y0 <= 0){y0 = 0;}break;//向下case 80:case 's':case 'S':putimage(0, 0, &background);putimage(x0, y0, 70, 124, &boy2, 70 * num, 0, SRCAND);putimage(x0, y0, 70, 124, &boy1, 70 * num, 0, SRCPAINT);num++;if (num == 4)num = 0;y0 += 7;if (y0 >= 760){y0 = 760;}break;//向右case 77:case 'd':case 'D':putimage(0, 0, &background);putimage(x0, y0, 70, 124, &boy2, 70 * num, 124 * 2, SRCAND);putimage(x0, y0, 70, 124, &boy1, 70 * num, 124 * 2, SRCPAINT);num++;if (num == 4)num = 0;x0 += 7;if (x0 >= 1010){x0 = 1010;}break;//向左case 75:case 'a':case 'A':putimage(0, 0, &background);putimage(x0, y0, 70, 124, &boy2, 70 * num, 124, SRCAND);putimage(x0, y0, 70, 124, &boy1, 70 * num, 124, SRCPAINT);num++;if (num == 4)num = 0;x0 -= 7;if (x0 <= 0){x0 = 0;}break;}}int main(){InitInstance();Interface();while (1){key_Down();}getchar();closegraph();return 0;}


    


效果图: