EGE专栏:EGE专栏
下一篇:EGE基础入门篇(三):开场动画
文章最后修改时间:2021年6月23日19:30:47
文章目录
一、基础入门参考
这里的一些示例程序可以作为学习参考,初学时建议复制几个示例代码,运行一遍,了解EGE的主要功能。
1. 基础入门程序
基础入门程序是EGE最基本的程序,需要理解并进行应用。可以通过运行这里的示例快速了解ege的功能。编译运行基础入门程序是快速入门的方法。
1.1 EGE官网新手入门程序
这是官网中关于EGE使用的基础入门程序,包含了比较简单的示例程序,可以快速了解EGE的功能。
1.2 EGE基础示例汇总
这里详细说明了EGE所包含的示例程序, 可以作为提升参考,查询相关资料时也可以进行参考。
二、开始使用EGE
1. 第一个EGE程序
EGE最简单的程序,运行后会弹出一个黑色的图形窗口,窗口标题为EGE版本及所使用的开发环境。按下任意键后窗口关闭,程序结束。
示例程序
#include <graphics.h> //包含EGE的头文件
int main()
{
initgraph(640, 480); //初始化图形环境,创建宽高为640x480的窗口
getch(); //暂停,等待按键
closegraph(); //关闭窗口
return 0;
}
<graphics.h> 是EGE图形库的头文件,使用EGE图形库时,需要将其使用 #include 进行包含,之后便可以使用EGE图形库进行绘图。
2. 设置窗口背景颜色
在上面的程序中,创建了一个黑色的图形窗口,接下来修改一下背景颜色。
在EGE中可以使用 setbkcolor()
函数设置背景颜色。函数声明如下:
void setbkcolor(color_t color);
color_t 是EGE中的自定义的一个颜色类型,可以使用 EGERGB() 宏来生成一个RGB颜色值。使用方法:设置一个红色分量为250, 绿色分量为45,蓝色分量为255的RGB颜色(每个分量取值范围是0 ~ 255)
,则为
EGERGB(250, 45, 255)
我们有时候也用十六进制数值表示RGB颜色,如果用十六进制,那么上面的颜色也可以表示为:
EGERGB(0xFA, 0x2D, 0xFF)
即 RGB颜色 #FA2DFF(十六进制颜色码)
。
示例程序
下面我们使用 setbkcolor() 来设置背景颜色。
#include <graphics.h>
int main()
{
//初始化图形环境,设置窗口大小为640x480
initgraph(640, 480);
//设置背景颜色为RGB颜色#FA2DFF
setbkcolor(EGERGB(0xFA, 0x2D, 0xFF));
//暂停,等待按键
getch();
//关闭窗口
closegraph();
return 0;
}
3. 初始化图形环境
EGE的绘图是在一个窗口上进行的,在绘图之前,需要对绘图环境进行初始化。
initgraph() 便是用于初始化图形环境的函数,它的作用便是为我们创建一个图形窗口,并对一些参数进行设置。
函数声明如下:
void initgraph(int Width, int Height);
void initgraph(int Width, int Height, int Flag);
initgraph() 一共有两个重载(C++语法,即同名函数,靠参数类型来区分)。
程序中一般选用第二个 initgraph(),即后面的Flag 参数要进行设置。Flag 参数推荐为 INIT_RENDERMANUAL (详细请查看EGE基础:窗口篇,这里不展开,记住就行)
,即如下形式:
initgraph(Width, Height, INIT_RENDERMANUAL);
INIT_RENDERMANUAL 是 initgraph() 最常用的参数,后面都会用到这个参数。( INIT_RENDERMANUAL 中后面两个单词为 render 和 manual, 即手动渲染的意思)
3.1 设置图形窗口的初始大小
initgraph() 中的 Width 和 Height 参数,表示创建的窗口的宽高(单位是像素)
,可以根据需要设置不同大小的窗口。
创建大小为 600 x 600的窗口:
initgraph(600, 600, INIT_RENDERMANUAL);
initgraph 在程序中只应该调用一次,其余都应认为是错误的调用。
在下面的程序中,使用 initgraph() 创建了一个800 x 800大小的图形窗口。
#include <graphics.h> //包含EGE的头文件
int main()
{
initgraph(800, 800, INIT_RENDERMANUAL); //初始化图形环境,创建宽高为640x480的窗口
setbkcolor(EGERGB(0xFF, 0xFF, 0xFF)); //窗口背景色设置为白色
getch(); //暂停,等待按键
closegraph(); //关闭窗口
return 0;
}
4. 关闭图形窗口
在上面的程序中我们可以看到,每个程序末尾都会有一句 closegraph(),用于关闭图形窗口,和 initgraph() 配对使用。
closegraph() 实际上只是把窗口隐藏,程序并不会因为调用了 closegraph() 而结束,所以不可以在后面放一些其它导致程序暂停来接收用户输入的函数。 (如 getch()会暂停,等待用户按键)
否则,会因为窗口被隐藏无法接收输入而导致程序无法正常结束。
和普通窗口一样,用户可以点击窗口右上角的 关闭按钮 来直接结束程序。
如果因错误使用 closegraph()
使得窗口被隐藏,程序无法正常结束,可以进入任务管理器,从进程 和 详细信息 选项卡中找到运行的进程(一般是项目名.exe,具体可以查看项目中编译生成的exe执行文件名)
,鼠标右键选择 结束任务。
EGE专栏:EGE专栏
下一篇:EGE基础入门篇(三):开场动画