最近,我觉得使用控制台编写游戏太没意思了!!
所以我开始研究图形库了~
一、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也可以)