杂碎知识点:
1. #include<graphics.h>
- 下载了图形库easyx,帮助入门图形编程
- graphics.h头文件包含函数:
【x,y表示坐标,r表示圆半径】
① circle(x, y, r); : 画一个空心圆
② setfillcolor(COLOR); : 填充颜色
③ fillcircle(x, y, r); : 画一个实心圆
2. #include<time.h>
- 用于调用时间函数clock()
- clock()函数 :
① 时间函数,包含于time.h头文件
② 用于获取当前毫秒数
3. #include<mmsystem.h>
win32 多媒体设备接口
4. #pragma comment(lib,“winmm.lib”)
用于调用音频
5. 枚举
【内部用 " , " 相接,最后一个不用 " , " 】
enum
{
,
,
};
6. bool类型
- bool类型只要两个值:真和假,即1和0
- bool类型是C++所有的,C语言没有
7. 共用体
union
{
}un;
- 共用体和结构体struct类似
- 共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员
- 共用体占用的内存等于最长的成员占用的内存
- 当存在独有属性时使用共用体
8. 实现加载图片
- 定义IMAGE对象
- 读取图片至IMAGE对象
- 显示IMAGE对象到需要的位置
9. mciSendString()函数
- mciSendString()函数,包含于mmsystem.h头文件
- mciSendString()函数用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等
- mciSendString()函数只适用于命令串接口方式(命令串中不区分大小写)
- mciSendString()函数向多媒体设备接口发送字符串 media device interface
10. 关于loadimage(&bk, “./images/background.jpg”);
- 通过函数的方式把图片保存到图片变量bk里面
- 出现报错:错误 C2665 “loadimage” : 2 个重载中没有一个可以转换所有参数类型
- 错误原因:参数有误,因为字符集不对,Unicode(报错)、多字节字符集(未报错)
- 解决方法:项目→属性→更改字符集类型
11. rand()函数
- rand():表示产生一个随机数
- rand()%10:表示产生的随机数结果范围为0~9
12. putimage()函数
- 函数格式:putimage(int ,int ,& )
① 前两个参数表示要贴的位置坐标
② 后一个参数表示要贴的图片
13. 使用透明贴图技术
用掩码图和源码图做一个颜色的二进制操作使边上空白部分去掉
14. settextcolor(COLOR)函数
Windows API 函数,设置指定DC中的文字颜色
15. settextstyle(字体大小, , “字体类型”)函数
- 调用方式 :void settextstyle(int font,int direction,int charsize);
- 设置指定DC中的文字字体和文本属性
16. textwidth()函数
返回以像素为单位的字符串宽度
17. outtextxy()函数
用于在指定位置显示一字符串
18. sprintf_s()函数
用于将数据格式化输出到字符串
19. SetBkMode()函数
用于设置指定DC的背景混合模式,背景混合模式用于与文本,填充画刷和当画笔不是实线时
20. outtextxy()函数
用于在指定位置显示一字符串
21. 设置定时器
使物体具有不同速度(或其他与时间有关的变量,根据具体情况分析)
22.DWORD
是静态变量,可自动初始化为零
23. GetAsyncKeyState()函数
- GetAsyncKeyState()是异步函数,非阻塞函数,会非常流畅
- 如果要检测字母按键:必须使用大写字母,可以检测到大写和小写;但若使用小写字母则都不可以检测到
- GetAsyncKeyState()函数用来判断函数调用时指定虚拟键的状态,确定用户当前是否按下了键盘上的一个键的函数。如果按下,则返回值最高位为1
- 写入其中的宏
① VK_SPACE : 表示获取到空格键
② VK_UP : 表示获取到上键
③ VK_DOWN : 表示获取到下键
④ VK_LEFT : 表示获取到左键
⑤ VK_RIGHT : 表示获取到右键
24. MessageBox()函数
- MessageBox()函数显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息
- 消息框中返回一个整数值,该值指示用户单击了哪个按钮
25. exit()
- exit(0); : 函数正常退出
- exit(1); 或 exit(-1) : 函数异常退出
- exit() : 退出,传入的参数是程序退出时的状态码
26. 创建窗口
- 控制台窗口是自动创建的,图形窗口需要手动创建
- showconsole : 显示控制台创建一个窗口
27. 函数BeginBatchDraw()
- 双缓冲绘图 : 解决图片闪烁情况
- 函数格式:
BeginBatchDraw();
FlushBatchDraw();
EndBatchDraw(); - FlushBatchDraw()函数 : 刷新一下直接输出
- EndBatchDraw()函数 : 结束
- FlushBatchDraw(),EndBatchDraw()函数是BeginBatchDraw()函数的一部分
- BeginBatchDraw()函数用于开始批量绘图
- BeginBatchDraw()函数包含于graphics.h头文件
- BeginBatchDraw()函数执行后,任何绘图操作都将暂时不输出到屏幕上,直到执行FlushBatchDraw() 或 EndBatchDraw() 才将之前的绘图输出。
28. while(1)循环
进行死循环,将程序卡住使其停留显示