购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 EasyX图形库

1-3-2.cpp中的printf()函数仅能输出简单字符,这一节我们下载安装EasyX图形库,快速上手图形绘制和游戏编程。

EasyX是一个简单易用的图形库,可以免费使用。可从EasyX的官方网站下载最新版本的软件安装包,如图2-2所示。

图2-2

单击EasyX官网右上角的“下载EasyX”按钮下载软件安装包,本书使用20220901版本。运行下载好的EasyX安装程序,弹出如图2-3所示的安装向导。

图2-3

在图2-3所示的对话框中单击“下一步”按钮,安装程序会自动检测计算机上已安装的开发平台,如图2-4所示,选择想要安装EasyX的开发平台,例如选择“Visual C++ 2022”,单击对应的“安装”按钮。

图2-4

安装成功后,在Visual Studio 2022中新建一个项目,输入2-1-1.cpp中的代码。

2-1-1.cpp

1    #include <graphics.h> // EasyX头文件  
 2    #include <conio.h>  
 3    #include <stdio.h>  
 4    int main()  
 5    {  
 6        initgraph(800, 600);  // 初始化一个800×600的窗口  
 7        setcolor(YELLOW);     // 圆的线条为黄色  
 8        setfillcolor(GREEN);  // 圆内部填充为绿色     
 9        fillcircle(400, 300, 100);  // 画圆,圆心坐标为(400,300),半径为100  
10        _getch();     // 按任意键继续  
11        closegraph(); // 关闭图形窗口  
12        return 0;  
13    } 

运行2-1-1.cpp后出现如图2-5所示的窗口,并在窗口中间绘制一个黄色线条、绿色填充的实心圆。

图2-5

使用EasyX生成的绘制区域采用直角坐标系,左上角的坐标为(0,0)。initgraph(800, 600)生成一个宽800、高600的绘图窗口,横轴方向由 x 坐标表示,取值范围为0到800;纵轴方向由 y 坐标表示,取值范围为0到600。fillcircle(400, 300, 100)绘制一个圆心坐标为(400, 300)、半径为100的实心圆。

读者可以根据代码中的注释,尝试更改窗口大小、圆心坐标、半径大小、颜色等参数。读者还可以打开EasyX的帮助文档“EasyX_Help.chm”,学习使用相关的图形绘制函数。

提示 EasyX安装程序目前仅支持Visual Studio开发环境。如果读者计算机的存储空间不够安装Visual Studio,可以安装轻量级的“小龙Dev-C++”或者“小熊猫C++”开发环境,这两个开发环境也可以使用EasyX图形库。如果读者使用其他代码编辑器,也可以使用开源图形库EGE。使用EGE时,只需修改本书代码中的部分绘图语句。

若不设置绘图颜色,EasyX默认将图形绘制为白色。输入并运行2-1-2.cpp,可以实现白色小球连续下落的动画效果,扫描右侧二维码观看视频效果“2.1 小球下落动画”。

2.1 小球下落动画

2-1-2.cpp

 1    #include <graphics.h> // EasyX头文件
 2    #include <conio.h>  
 3    #include <stdio.h>  
 4    int main()  
 5    {  
 6        int y = 50; // 小球的y坐标  
 7        initgraph(800, 600); // 初始化一个800×600的窗口  
 8        while (1) // 一直循环  
 9        {  
10            y = y + 1; // y坐标增加  
11            cleardevice(); // 清空画面  
12            fillcircle(400, y, 20);  // 在(400,y)处绘制半径为20的圆  
13            Sleep(10); // 暂停10毫秒  
14        }  
15        _getch();  
16        closegraph(); // 关闭图形窗口  
17        return 0;  
18    } 

在2-1-2.cpp中,小球的初始 y 坐标为50;在while循环语句中,依次执行 y 坐标增加、清空画面、在新位置绘制圆、暂停10毫秒,如此重复执行,即实现了小球下落的动画效果,如图2-6所示。

图2-6 DOMoW1xlEsQRmFBzSXAfzE1rMbJh1kp19kNSTWZw0F9Cfdvtj+OafMA7jfzyJw9b

点击中间区域
呼出菜单
上一章
目录
下一章
×