Windows游戏开发之声音播放和文字绘制

  • A+

声音是游戏的灵魂,如果游戏

没有了声音,你会觉得特别无聊

目前我从学习中知道播放声音的途径有两种

第一种

                mciSendString(L"open sound/game_music.wav", NULL, 0, 0);

mciSendString(L"play sound/game_music.wav", NULL, 0, 0);

                mciSendString(L"stop sound/game_music.wav", NULL, 0, 0);

第一个参数为命令字符串,open play stop 等后加声音文件名

在使用之前需要包含和链接这些库文件

#include<mmsystem.h>

#pragma comment(lib,"winmm.lib")

mciSendString(发送命令串),函数原型为:

MCIERROR mciSendString( // 出错返回非零值(错误代码

// 可用mciGetErrorString获得错误的文本描述

LPCTSTR lpszCommand, // 指向以null结尾的命令字符串:”命令 设备[ 参数]”

LPTSTR lpszReturnString,// 指向接收返回信息的缓冲区,为NULL时不返回信息

UINT cchReturn, // 上述缓冲区的大小

HANDLE hwndCallback // 在命令串中含notify时,它指定一个回调窗口的句柄

// 一般为NULL

);

第二种

PlaySound(L"sound/game_over.wav", NULL, SND_FILENAME | SND_ASYNC);

第一个参数为路径文件名,

第三个参数为一些播放的属性,文件名,异步

第二个用NULL就好

使用这方法播放,同样要

#include<mmsystem.h>

#pragma comment(lib,"winmm.lib")

对于字体的渲染

Windows游戏开发之声音播放和文字绘制

首先创建一种字体笔刷

然后选择这一种笔刷

设置模式为透明模式,这样渲染出来的字体就没有了白色背景

在将需要输出的数据保存到字符数组中

用TextOut函数输出到缓存画板中

最后在输出到屏幕当中

方法循序才是道理

参数什么的都见文档去吧!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: