本文主要是介绍Easyx-----c语言实现皮卡丘移动控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用贴图方式,实现皮卡丘按键盘上键丢球,按右键翻滚
效果如下:
创建源文件选择.cpp
vs2019下载Easyx并包含头文件
#include<graphics.h>
Easyx图形库下载地址 www.easyx.cn
项目->属性->高级->字符集改为多字节字符集
小知识:
绝对路径
选择文件夹,右键->属性->位置
注意:也可以用相对路径
把图片和含有.cpp文件夹放在一起
准备就绪 上代码
#include<stdio.h>
#include<graphics.h>
#include<Windows.h>
#include<conio.h>
#define WINDOW_WIDTH 1200 //宽
#define WINDOW_HEIGHT 700 //高
#define PEOPLE_WIDTH 169
#define PEOPLE_HEIGHT 185
int x1, y1; //人物坐标
IMAGE bk,move1,move2;
enum dirct{ p_diuqiu1,p_fangun1,p_tiaoyue1
};
//人物动效
int dir;
int main() ={initgraph(WINDOW_WIDTH, WINDOW_HEIGHT);
//绝对路径方式 两种任选一种loadimage(&bk, "把图片放桌面,写绝对路径", WINDOW_WIDTH, WINDOW_HEIGHT, true);loadimage(&move1, "把图片放桌面,写绝对路径move1.bmp");loadimage(&move2, "把图片放桌面,写绝对路径move2.bmp");
//相对路径的方式 两种任选一种loadimage(&bk,"bk.bmp", WINDOW_WIDTH, WINDOW_HEIGHT, true);loadimage(&move1, "move1.bmp");loadimage(&move2, "move2.bmp");x1 =100;y1 = 350;int n = 0;int m = 0;int ch = 0;dir = p_diuqiu1;//动图while (1) {BeginBatchDraw();//防闪 贴图前putimage(0, 0, &bk);//截取一部分 switch (dir) {//上72下80左75右77case p_diuqiu1:putimage(x1, y1, PEOPLE_WIDTH, PEOPLE_HEIGHT, &move1, n * PEOPLE_WIDTH, PEOPLE_HEIGHT, SRCAND);putimage(x1, y1, PEOPLE_WIDTH, PEOPLE_HEIGHT, &move1, n * PEOPLE_WIDTH, 0, SRCPAINT);break;case p_fangun1:putimage(x1, y1, PEOPLE_WIDTH+10, PEOPLE_HEIGHT, &move2, n * (PEOPLE_WIDTH+10), PEOPLE_HEIGHT, SRCAND);putimage(x1, y1, PEOPLE_WIDTH+10, PEOPLE_HEIGHT, &move2, n * (PEOPLE_WIDTH+10), 0, SRCPAINT);break;}EndBatchDraw();// 防闪 贴图后n++;if (n >= 4) n = 0;if (_kbhit()) { //先判断有没有按键行为,没有按键行为没有操作ch = _getch(); //阻塞函数 不输入它不结束/*printf("ch:%d\n", ch);*/switch (ch){//上72下80左75右77case 72:case 'W':case 'w':dir = p_diuqiu1;x1+= 10;break;case 77:case 'd':case 'D':dir = p_fangun1;x1+=40;break;} } m++;if (m >= 7) m =0;Sleep(200); }while (1);return 0;
}
bk.bmp
move1.bmp
move2.bmp
这篇关于Easyx-----c语言实现皮卡丘移动控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!