最近,我覺得使用控制臺編寫游戲太沒意思了!!
所以我開始研究圖形庫了~
一、setinitmode
? ? ? ? 函數定義
void EGEAPI setinitmode(int mode, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT); //設置初始化模式,mode=0為普通,1為無邊框窗口,xy是初始窗口坐標
? ? ? ? 使用說明
void EGEAPI setinitmode(無邊框模式是否開啟, 圖形界面的初始x坐標, 圖形界面的初始y坐標); //設置初始化模式,mode=0為普通,1為無邊框窗口,xy是初始窗口坐標
初始化圖形界面的有無邊框(0沒有,1有)和x、y坐標。
二、initgraph
? ? ? ? 函數定義
void EGEAPI initgraph(int Width, int Height, int Flag); // 初始化圖形環境
// Debug 配置下默認不顯示 LOGO,Release 模式下默認顯示。
#if !defined(NDEBUG) || defined(DEBUG) || defined(_DEBUG)
inline void EGEAPI initgraph(int Width, int Height) {initgraph(Width, Height, getinitmode());
}
#else
inline void EGEAPI initgraph(int Width, int Height) {initgraph(Width, Height, getinitmode()|INIT_WITHLOGO);
}
?????????使用說明
initgraph(x, y, 類型)
創建一個長x、高y的圖形界面。
(當然,類型也可以不填)
但是不是使用了initgraph就會出現一個圖形界面不動的,它會隨著代碼變化。所以必須在程序結束后使用Sleep或system("pause")暫停一下或是等待,還有一個函數,待會兒會講。
?????????????????類型
enum initmode_flag {INIT_DEFAULT = 0x0,INIT_NOBORDER = 0x1,INIT_CHILD = 0x2,INIT_TOPMOST = 0x4,INIT_RENDERMANUAL = 0x8,INIT_NOFORCEEXIT = 0x10,INIT_UNICODE = 0x20,INIT_WITHLOGO = 0x100,INIT_ANIMATION = INIT_DEFAULT | INIT_RENDERMANUAL | INIT_NOFORCEEXIT,
};
INIT_DEFAULT?默認參數,這與我們不填任何參數是一樣的。(NULL)
代碼 | 釋義 |
---|---|
INIT_NOBORDER? | 沒有標題欄,無框窗口 |
INIT_CHILD | ? |
INIT_TOPMOST? | 生成在最頂端,不可被其他窗口覆蓋 |
INIT_RENDERMANUAL | 手動渲染模式 |
INIT_NOFORCEEXIT | 使用者不可以強制退出 |
INIT_UNICODE | ?允許使用UNICODE碼UTF - 8 |
?INIT_WITHLOGO | ?顯示出場動畫: |
INIT_ANIMATION? | ......(你懂的, |
如果想要同時使用兩個或多個模式,只需要用或(|)即可。
三、setcaption
? ? ? ? 函數定義
void EGEAPI setcaption(LPCSTR caption);
? ? ? ? 使用說明
void EGEAPI setcaption(圖形界面標題欄標題);
一般的圖形界面標題是EGE20.08 GCC9.2x86,擔setcaption可以更改圖形庫標題。
? ? ? ? ? ? ? ? 示例程序
#include <graphics.h>
using namespace std;int main(void)
{initgraph(250, 250);setcaption("快樂星空Test");system("pause");return 0;
}
四、movewindow
? ? ? ? 函數定義
void EGEAPI movewindow(int x, int y, bool redraw = true); //移動窗口
? ? ? ? 使用說明
void EGEAPI movewindow(把圖形界面移到x坐標, 把圖形界面移到y坐標); //移動窗口
把圖形界面移到(x, y)坐標。
五、getch
? ? ? ? 函數定義
int EGEAPI getch();
? ? ? ? 使用說明
int EGEAPI getch();
是不是很熟系?其實這就≈conio.h里面的_getch(),意思是按一下任意鍵繼續。所以在使用graphics.h時使用conio.h是不可能的!
六、closegraph
? ? ? ? 函數定義
?void EGEAPI closegraph();
? ? ? ? 使用說明
void EGEAPI closegraph();
關閉圖形界面。
(其實我覺得直接return也可以)