位置: IT常識 - 正文
推薦整理分享猿創(chuàng)征文|【C++游戲引擎Easy2D】學(xué)C++還不會繪制一個簡單的二維圖形?一篇文章教會你(北京猿創(chuàng)源科技有限公司),希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。
文章相關(guān)熱門搜索詞:西安猿創(chuàng)聯(lián)盟信息科技有限公司,猿創(chuàng)科技,猿類作文,猿創(chuàng)教育,猿創(chuàng)教育,猿創(chuàng)教育,猿創(chuàng)科技,猿創(chuàng)設(shè)計科技有限公司,內(nèi)容如對您有幫助,希望把文章鏈接給更多的朋友!
🧛?♂?iecne個人主頁::iecne的學(xué)習(xí)日志 💡每天關(guān)注iecne的作品,一起進(jìn)步 💪學(xué)C++必看iecne 本文專欄:【C++游戲引擎】. 🐳希望大家多多支持🥰一起進(jìn)步呀!
?前言互相學(xué)習(xí),或者加入粉絲群,可以添加vx YAN_Pisces_Boom 哈嘍大家好,我是iecne,本期為大家?guī)淼氖荂PP/C++【游戲引擎Easy2D】繪制一個簡單的二維圖形,例如矩形、圓形等。包教包會,快來看看吧! 引擎支持 Visual Studio 2013 及以上版本,如果你使用的是較低版本的 VS,那么你需要考慮一下更新你的編譯器了
任務(wù)描述如何根據(jù)據(jù)Button制作鼠標(biāo)控制按鈕類 本實踐旨在通過多個代碼的案列,讓大家理解和掌握如何使用Easy2D引擎來繪制一個簡單的二維圖形,例如矩形、圓形等。
文章目錄?前言任務(wù)描述Easy2D導(dǎo)讀安裝 Easy2D一.Easy2D圖形1.1 形狀分類1.2 形狀的使用方法1.3 填充與輪廓1.3.1 理論1.3.2 實例使用二.對比EasyX圖形庫三.關(guān)于引擎的雜談關(guān)于命名總結(jié)Easy2D導(dǎo)讀對于編程而言,初學(xué)者最需要的不是技能,而是成就感。 如果你喜歡用 C/C++ 編寫自己的小游戲,那么 Easy2D 將是個不錯的選擇,它大大簡化了游戲制作過程,可以幫助你快速開發(fā) Windows 上的 2D 小游戲。 它的特點和它的名字一樣,Everything is Easy!
安裝 Easy2D使用簡易安裝器 運行里面的 install.bat 文件進(jìn)行安裝。 點擊此鏈接進(jìn)行下載(純免費,給官方搞成了VIP) 點擊下載 安裝程序會檢測您已經(jīng)安裝的 Visual Studio 版本,并根據(jù)您的選擇將對應(yīng)庫文件解壓至 VS 庫目錄下。 Easy2D 不支持 VS2012 及以下的版本(包括 VC6.0),如果你使用的是低版本的 VS,那你需要嘗試一下新版的 Visual Studio 了。
安裝環(huán)境: 操作系統(tǒng):Windows 7 及以上操作系統(tǒng)。 編譯環(huán)境:Visual Studio 2013 (x86 & x64) 及以上版本。
一.Easy2D圖形Shape 是節(jié)點的一種,它用于繪制一個簡單的二維圖形,例如矩形、圓形等。
1.1 形狀分類Easy2D 僅提供了四種簡單圖形,分別是
RectShape 矩形RoundRectShape 圓角矩形CircleShape 圓形EllipseShape 橢圓形1.2 形狀的使用方法創(chuàng)建四種形狀的方式分別為:
// 創(chuàng)建一個寬高為 (10,20) 的矩形auto rect = gcnew RectShape(Size(10, 20));// 創(chuàng)建一個寬高為 (10,20) ,圓角角度為 (40,20) 的圓角矩形auto roundRect = gcnew RoundRectShape(Size(10, 20), 40, 20);// 創(chuàng)建一個半徑為 10 的圓形auto circle = gcnew CircleShape(10);// 創(chuàng)建一個半徑為 (10,20) 的橢圓形auto ellipse = gcnew EllipseShape(10, 20);因為形狀也是節(jié)點的一種,所以具備節(jié)點的所有性質(zhì),例如移動
// 創(chuàng)建一個寬高為 (10,20) 的矩形auto rect = gcnew RectShape(Size(10, 20));// 移動矩形到 (100, 100) 坐標(biāo)處rect->setPos(100, 100);在這里我們的移動是
rect->setPos(100, 100);(100,100)則是坐標(biāo)
若我們需要移動到100,200,則代碼如下
rect->setPos(100, 200);前提是,你的窗口大小一定要大于100,200,這樣才能出現(xiàn)在窗口中
1.3 填充與輪廓接下來我們詳細(xì)講解如何使用填充和輪廓
1.3.1 理論所有的形狀都可以設(shè)置樣式,樣式包括以下三種:
填充輪廓填充+輪廓enum Style{ Solid, /* 填充 */ Round, /* 輪廓 */ Fill, /* 輪廓 + 填充 */};Tip
輪廓: 解釋為構(gòu)成圖形或物體的外緣的線條填充: 解釋為圖形沒有輪廓,中間實心輪廓+填充:結(jié)合1、21.3.2 實例使用例如,設(shè)置一個形狀僅顯示輪廓,不顯示填充顏色:
// 設(shè)置形狀樣式為,輪廓shape->setStyle(Shape::Style::Round);所有的形狀都可以設(shè)置填充色和輪廓顏色
創(chuàng)建一個寬高為 (10,20) 的矩形
auto rect = gcnew RectShape(Size(10, 20));設(shè)置填充顏色為紅色
rect->setFillColor(Color::Red);設(shè)置輪廓顏色為白色
rect->setLineColor(Color::White);設(shè)置輪廓線條寬度為 2
rect->setStrokeWidth(2.0);合起來如下:
// 創(chuàng)建一個寬高為 (10,20) 的矩形auto rect = gcnew RectShape(Size(10, 20));// 設(shè)置填充顏色為紅色rect->setFillColor(Color::Red);// 設(shè)置輪廓顏色為白色rect->setLineColor(Color::White);// 設(shè)置輪廓線條寬度為 2rect->setStrokeWidth(2.0);二.對比EasyX圖形庫C++/C還有一個可視化的非引擎,名為EasyX 他們都有Easy,讓作者聯(lián)想起他們的關(guān)聯(lián) 由于作者兩個都會,所以就拿過來對比一下
setbkcolor 設(shè)置當(dāng)前設(shè)備繪圖背景色。 setbkmode 設(shè)置當(dāng)前設(shè)備圖案填充和文字輸出時的背景模式。 setfillcolor 設(shè)置當(dāng)前設(shè)備填充顏色。 setfillstyle 設(shè)置當(dāng)前設(shè)備填充樣式。 setlinecolor 設(shè)置當(dāng)前設(shè)備畫線顏色。 setlinestyle 設(shè)置當(dāng)前設(shè)備畫線樣式。
三.關(guān)于引擎的雜談兩者區(qū)別不大,但是EasyX的更加全面,畢竟EasyX 是針對 C/C++ 的圖形庫的。所以EasyX的畫圖作用高于Easy2D 但是我們在編寫游戲的時候,可以EasyX和Easy2D結(jié)合。博主以前寫過一個程序,由于Easy2D的MessegeBox沒有EasyX的功能,我就直接加入EasyX的庫,將EasyX和Easy2D結(jié)合,這樣就更好了 還有,如果我們在寫項目的時候,也可以加入這兩個庫,對于我們Cpp寫程序的時候有益無害 但是寫題目的時候千萬不要加入這兩個庫,因為我們很多的測試平臺不會加上Easy2D和EasyX,這就和你寫題目用Unity3D、虛幻等大引擎,編譯錯誤一樣的,區(qū)別不大 對于初學(xué)者,沒有專門學(xué)游戲開發(fā)的Cpp學(xué)者,還是建議學(xué)一下Easy2D,這樣可以拓展知識面,而Unity2D和虛幻等國際有名的大引擎,對于我們來說難度偏高,學(xué)入門所需要的時間不是一時半會兒的,所以我們用Easy2D拓展知識面熟悉一下引擎的樣子,其實Easy2D和QT的區(qū)別也不會特別大,一通百通,學(xué)會舉一反三即可。
關(guān)于命名Easy2D 按照以下規(guī)律命名函數(shù):
小駝峰式命名法則,第一個單詞小寫,后面的單詞首字母大寫,如Window::setTitle 所有函數(shù)均按照動詞+名語形式命名,如Logger::showConsole 獲取對象的屬性值:get+屬性名,如Node::getWidth 修改對象的屬性值:set+屬性名,如Node::setPos 獲取對象的狀態(tài)(bool值):is+狀態(tài)名,如Node::isVisiable
總結(jié)本節(jié)課主要是講解了Easy2D引擎實現(xiàn)的教程,至此該課示例的思想博主已經(jīng)真真切切徹徹底底分享完了,相信大家對這個邏輯有了一定的理解,大家可以自己動手敲敲代碼,感受一下,包教包會。若有任何侵權(quán)和不妥之處,請私信于我,定積極配合處理,看到必回!!!
帥的人已然點贊收藏關(guān)注,而丑的人還在猶豫,被猶豫了,快三連吧! 原創(chuàng)不易,還希望各位大佬支持一下 點贊,你的認(rèn)可是我創(chuàng)作的動力! 收藏,你的青睞是我努力的方向! 評論,你的意見是我進(jìn)步的財富!
感謝每一個觀看本篇文章的朋友,更多精彩敬請期待~( ̄▽ ̄~)~: iecne的博客 若有任何侵權(quán)和不妥之處,請私信于我,定積極配合處理,看到必回!!!
上一篇:Vue3創(chuàng)建項目(四)main.js配置,避坑指南(vuecli3創(chuàng)建項目的過程)
下一篇:vue中devTools插件安裝教程(vue.js devtools插件下載)
網(wǎng)站地圖: 企業(yè)信息 工商信息 財稅知識 網(wǎng)絡(luò)常識 編程技術(shù)
友情鏈接: 武漢網(wǎng)站建設(shè)