c语言做游戏,告别黑窗口

  • Post author:
  • Post category:其他


一般我们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();//结束并将完整的一帧输出



版权声明:本文为qq_42736747原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。