在我的程序中,目前我可以播放背景音乐。我的游戏是基于射击游戏的,如果按下按钮,可以说是在播放声音之后播放的声音,它可以播放声音,它继续我们在背景音乐中播放的地方?这是我的代码:
#include <iostream>
#include <Windows.h>
#include <conio.h>
#pragma comment (lib , "winmm.lib") // Used for sound
using namespace std;
// Define key
#define KEY_UP 72
int main()
{
int key = 0;
while(true)
{
PlaySound(TEXT("Background Music.wav"), NULL, SND_FILENAME|SND_ASYNC);
key = _getch();
if (key == KEY_UP)
PlaySound(TEXT("GunSound.wav"), NULL, SND_FILENAME|SND_ASYNC);
}
return 0;
}
如果您希望背景音乐连续播放,则需要使用snd_loop参数。问题在于,在这种模式下,API进入了一种模式,直到使用Null Wave文件名来拨打音乐才能停止。我敢打赌,如果您将背景音乐的声音放在单独的线程上,则可以工作。如果您这样做,那么您的余下循环应该工作。
如果您开始认真对待视频游戏,则无疑是您最好的选择。Codeguru上有很多示例应用程序。