什麼是 easyx?
easyx 是針對 c++ 的圖形庫,可以幫助 c 語言初學者快速上手圖形和遊戲程式設計。 比如,可以用 vc + easyx 很快的用幾何圖形畫乙個房子,或者一輛移動的小車,可以編寫俄羅斯方塊、貪吃蛇、黑白棋等小遊戲可以練習圖形學的各種演算法,等等。
許多學程式設計的都是從 c 語言開始入門的,而目前的現狀是:
1. 有些學校以 turbo c 為環境講 c 語言,只是 turbo c 的環境實在太老了,複製貼上都很不方便。
2. 有些學校直接拿 vc 來講 c 語言,因為 vc 的編輯和除錯環境都很優秀,並且 vc 有適合教學的免費版本。可惜在 vc 下只能做一些文本性的練習 題,想畫條直線畫個圓都很難,還要註冊視窗類、建訊息迴圈等等,初學者會受嚴重打擊的。初學程式設計想要繪圖就得用 tc,很是無奈。
3. 還有計算機圖形學,這門課程的重點是繪圖演算法,而不是 windows 程式設計。所以,許多老師不得不用 tc 教學,因為 windows 繪圖太複雜了,會偏離教學的重點。新的圖形學的書有不少是用的 opengl,可是門檻依然很高。
所以,我們想給大家乙個更好的學習平台,就是 vc 方便的開發平台和 tc 簡單的繪圖功能,於是就有了這個 easyx 庫。如果您剛開始學 c 語言,或 者您是一位教 c 語言的老師,再或者您在教計算機圖形學,那麼這個庫一定會讓您興奮的。
點選進入easyx官網
2.安裝easyx會出現下圖頁面,點選安裝文件和visual c++ 2017
3.開啟剛才安裝的文件,就可以看到裡面包括了easyx函式的介紹和使用方法。
使用之前要#include // 引用圖形庫標頭檔案
然後initgraph(640, 480); // 建立繪圖視窗,大小為 640x480 畫素(繪圖視窗不是控制台,initgraph(640,480,showconsole)就可以看到我們熟悉的控制台了)
過程:定義變數->載入->貼出
分別用到image、loadimage、putimage
往往和beginbatchdraw、flushbatchdraw、endbatchdraw搭配使用可解決繪圖閃爍問題,詳見文件。
image bk2, bk3;
loadimage(&bk2, "image\\bk2.jpg", 1000, 700, true);//幕布
loadimage(&bk3, "image\\bk3.jpg");//背景
setbkmode(transparent);
for (int i = -700; i != 0; i++)//幕布
首先需要定義乙個mousemsg變數,然後可以使用mousehit函式判斷是否有滑鼠資訊(一般使用巢狀while迴圈多次判斷),然後getmousemsg,再根據滑鼠資訊執行相應操作。
mousemsg m;
flushmousemsgbuffer();
while (1)
}if (!((m.x >= 105 && m.x <= 282) && (m.y >= 423 && m.y <= 480)))//滑鼠放在按鈕變色
if ((m.x >= 751 && m.x <= 929) && (m.y >= 425 && m.y <= 482))//使用者模式
}if (!((m.x >= 751 && m.x <= 929) && (m.y >= 425 && m.y <= 482)))//滑鼠放在按鈕變色}}
使用這類函式可以知道滑鼠操作判斷時的座標,比如上方的按鈕座標就是用rectangle找的。或者實現滑鼠放在按鈕變色、點選效果等。
outtextxy、settextcolor、settextstyle,inputbox等等(不難,看完文件介紹就懂)
但是outtextxy只能輸出char型,需要輸出int等型別時需要用到sprintf
點選進入sprintf百科
int ybkcount=1;
char tempnum[50];
sprintf(tempnum, "已選票數:%d", ybkcount);
outtextxy(765, 405, tempnum);
* 乙個函式往往有多個引數,可以有預設引數,沒有特別什麼一般預設為null。
* cleardevice可以清屏,但是如果需要保留某部分時可以用getimage
* 加入sleep來控制貼圖速度
* 可以通過繪圖覆蓋,然後輸出來實現更新
相信大家到這裡已經對easyx的使用有了一定的理解,但是可能有的同學會說好像沒學到什麼,或者是就會這幾個函式有什麼用,我個人認為教程不是手把手教學,而是啟蒙,然後同學們舉一反三,從原理上理解函式,學會自己去領悟函式,函式是教不完的,而且乙個函式可以有非常多的用法,不同的搭配方法也可以實現不同的效果,這些都需要同學們積極探索,easyx或許只是乙個小的開始,希望同學們能夠在學習的過程中不斷思考,不斷成長。
最後來個效果圖
Easyx基礎知識
控制頁面類 1.include 為easyx庫的標頭檔案 2.initgraph x,y 初始化x y大小的繪圖螢幕 3.closegraph 關閉繪圖螢幕 4.sleep n 延時n毫秒 5.system pause 起暫停作用,使用者隨機輸入繼續執行 6.initgraph x,y,showco...
easyx文字輸出 簡單學會Easyx的使用
時間標頭檔案 include 加入 的標頭檔案 pragma comment lib,winmm.lib 加入 的庫 歡迎介面 void welcome 功能 開啟乙個視窗 initgraph 640,480 寬 640,高 480 單位 畫素 新增背景 mci media contorl inte...
Zephyr 教程 應用程式基礎
通過建立包含下列檔案的目錄定義 zephyr 應用程式 核心配置檔案 應用程式通常提供乙個配置檔案 conf 以指定乙個或多個核心配置選項。如果沒有提供配置檔案,將使用應用程式存在的配置選項。如果應用程式也沒有提供配置選項,將使用核心預設的選項。微核心應用程式通常還提供乙個額外的字尾為.mdef的配...