一般我们c语言写的都是黑底白字的控制台程序,那那些游戏是如何用c语言写的呢,学了四年c语言,却只会九九乘法表,杨辉三角?
现在哈,是时候告别控制台奔向图形界面了。
首先,配置开发环境,要有图像,得有easyx头文件和库,这个在easyx的官网
EasyX Graphics Library for C++
可以直接下载,选择你的编译器版本点击按装就好了。
为窗口涂上喜欢的颜色
之后就可以开始写图像界面的代码了。
#include<easyx.h>//调用头文件,这里也可以是graphics.h一样的
int main()
{
initgraph(666,666);//定义一个长666,高666(像素的图形界面面)
return 0;
}
然后运行,你会发现,这不还是黑底嘛?
这里可以通过一行代码来转换背景颜色
setbkcolor();
这个很好理解,set,设置,bk就是background(背景),color颜色,连在一起就是这个代码了,括号里可以设置颜色的参数,一些常见的颜色比如WHITE,BLACK,。。。就可以直接这么写
setbkcolor(WHITE);注意这里要大写,要是颜色不常见咋办?
括号里也可以写颜色的十六进制编码,就可以实现了
也可以呢,用rgb颜色码,画板里打开颜色就可以看到,setbkcolor(RGB(,,));
设置颜色后,记得用cleardevice()刷新窗口;
顺便一提,这里窗口的的坐标是以左上角为原点,窗口位于第四象限。
在你窗口上听音乐
要实现音乐功能还要一个头文件和一个库文件
#include<mmsystem.h>
mm--multiple media(多媒体) system(系统)//调用头文件
#pragrma commment(lib,"winmm") //库文件的包含
win--windows mm--多媒体
然后把mp3,wav格式音乐放在和main函数一个文件夹中
接下来要用到mciSendString()函数了,
mci–media control interface 媒体控制接口,用来控制媒体视频音频的接口
mciSendString(L"open music.mp3",0,0,0);
mciSendString(L"play music.mp3",0,0,0);
mciSendString(L"pause music.mp3",0,0,0);
mciSendString(L"close music.mp3",0,0,0);
由于微软unicod编码,所以前面加个L表示宽字符
后面的0,0,0表示音量左右声道等参数
以上四行代码就可以实现音乐打开播放暂停关闭功能了
在这输出文字
settextcolor(BLUE);
settextstyle(100, 0, L"隶书");
outtextxy(100, 100,L"帅");
ps:如果Unicode一定记得L
settextstyle,顾名思义,创建字体类型,100规定高度,0是宽度(这里0不是宽度为0,而是自适应)“隶书”的字体
outtextxy(),xy坐标,要输出的内容
插入图片
先来展示一段插入图片代码,同理,要求图片文件和主函数在一个文件夹中
int a;
scanf_s("%d",&a);
printf("%d",a);
等等,是不是走错片场了?
我是说,这里的图片插入可以类比定义变量来学习
IMAGE a;//定义图片
loadimage(&a,L"图片名字");//读取图片
putimage(0,0,&a);//坐标,变量名
那假如现在要做个英雄联盟游戏,那么多英雄,难道一个一个这样载入嘛?
不,会卡成狗的
这里就可以使用图片批处理
BeginBatchDraw();//开始将图片绘制到缓冲区
图片处理代码
EndBatchDraw();//结束并将完整的一帧输出