//又小小修改了一下,加了一些内容^_^
阅读提示:使用EGE时要创建c++项目, 不是c噢
话不多说直接上教程
--------------------------------------------------------------------------------------------------------------------
#include <graphics.h> //使用ege的头文件void test() {initgraph(1000, 625);//创建窗口PIMAGE src1;//定义图像对象src1 = newimage();创建图像对象getimage(src1, "4.jpg");//从文件中读取图片putimage(0, 0, src1);//在窗口上绘制图片,相当于贴上你的背景图setfont(26, 0, "宋体");//设置字体,26是字高, 0指的是字宽根据字高自动调整, 宋体是字体setbkmode(TRANSPARENT);//这个是将文字的背景色设置成透明,否则一个字后面会有色块setcolor(BLACK);//这个是设置字体颜色for(; is_run(); delay_fps(60)) {//is_run()判断窗口是否存在,delay_fps(60) 作用是稳定帧率并刷新窗口 ,一秒钟循环60次mouse_msg msg = {0};//定义鼠标变量并且初始化while(mousemsg()) { //利用mousemsg()判断有没有鼠标消息msg = getmouse();} //获得鼠标消息if((msg.x > 142 && msg.x < 391) && (msg.y > 414 && msg.y < 499) && msg.is_left() && msg.is_down()) {//插入函数} else if((msg.x > 587 && msg.x < 823) && (msg.y > 417 && msg.y < 499) && msg.is_left() && msg.is_down()) {//插入函数}}}
注意!所有和鼠标点击有关的代码全部放在for()循环里面,也包括函数的调用,否则你就算点了界面上的相关选项,界面也不会有反应!
1.创建窗口:initgraph(窗口的宽, 窗口的高) //这里的宽高都一像素为单位
2.读取文件中的图片:最好把图片和项目都放在一个文件夹里,这样就只用写“文件名”,不然就要复制文件路径,把文件路径中的每一个单杠变成双杠,切记!
文件名是自己保存的图片的名字,可以把文件名修改成简单的数字,方便操作(使用重命名即可)
3.制作界面:制作精美的界面,往往只需要最简单的操作:直接在电脑自带的画图工具里面画
具体操作:1.先找一张好看的照片,将它裁剪成和窗口一样大,如何裁剪请自己解决
2.用画图的打开方式打开图
片文件,之后就可以自己画框,输入文字等等
very important:如果想多次更换背景,就要再使用一次putimage();换上不同的图片文件名,记得清屏哦!
//比如这样PIMAGE src1, src2;src1 = newimage();src2 = newimage();getimage(src1, "文件名");getimage(src2, "文件名");putimage(src1);//背景图是src1//中间是你的代码//想要更换背景时,就可以这样操作cleardevice();//先清屏putimage(src2);//在把背景图贴上去就可以啦
最后就是这样啦,是不是很简单!!!
根本不需要用按钮啥的
4.确定你设置的框的位置:
比如上图中我画了一个“添加信息”,怎样才可以在鼠标点击之后进入“添加信息”的界面呢?
同样很简单!
获取鼠标消息后,用if()语句判断鼠标点击的位置,msg.x是窗口的横坐标,往右是正方向,msg.y是窗口的纵坐标,往下是正方向,其中左上角的坐标是(0,0)
注意:坐标的单位都是像素,具体查看方法可以用画图打开图片文件,将你的鼠标点在框的四个角就可以看到具体横纵坐标,也就是像素。
接着用msg.is_left() 和msg.is_down()判断你是否按下鼠标左键即可
5.cleardevice()的使用,作用是清屏 一定要用,否则你在上个界面留下的痕迹,这个界面还会有,属于是叠加buff了
建议在putimage()之前使用;
6.界面输出文字:
推荐使用xyprintf(横坐标,纵坐标,“输出的文字”);这个是单行输出
注意: 1.这里的横纵坐标是输出的第一个字的左上角的坐标;
2. \n,\t在xyprintf()里面都无效
3.EGE也有多行输出,请自行查找资料
4. 横纵坐标不光可以写具体的数组,里面也可以是含字母的参数,因为如果你想遍历文件,是要在多行输出的,比如30 + i; 但这里的i也是要改变的,不然依旧是在一行输出!
可以这样:for() {
xyprintf(0, 30 + i, "");
i++;
}
7.输入框的使用:
如果你想让用户输入信息的话,可以使用EGE自带的输入框,咱们怎么简单怎么来
inputbox_getline("输入框标题", "输入框的提示内容", 一个char型数组, 数组大小);
char input[10];
例如:inputbox_getline("输入", "请输入账号密码", input, 10);
接着用户输入的信息就会存在input数组里面啦
注:也可以自己创建输入框,请自行查找资料
8.退出EGE
程序运行时会有两个框,只有return 0是不够的,还要在return 0之前加上closegraph();用来关闭EGE
到这里EGE的新手版使用教程就已经全部介绍完啦,还有啥不懂的再看看我贴的代码,也可以自行查阅相关资料~~~~~byebye