官术网_书友最值得收藏!

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

主站蜘蛛池模板: 休宁县| 雅安市| 杨浦区| 漳平市| 台山市| 石林| 定襄县| 藁城市| 清水河县| 蒙阴县| 平武县| 潮安县| 阳春市| 安陆市| 宁陵县| 鹤山市| 永吉县| 娱乐| 田林县| 闽侯县| 新河县| 伽师县| 五指山市| 虹口区| 深水埗区| 千阳县| 柏乡县| 志丹县| 朝阳县| 常州市| 南丹县| 黄骅市| 长寿区| 清水县| 吉木乃县| 余江县| 萨嘎县| 耒阳市| 额济纳旗| 淅川县| 通许县|