📄 soundmanager.cpp
字号:
#include <ClanLib/sound.h>
#include <ClanLib/core.h>
#include <queue>
#include "soundmanager.h"
// enum Sound{SND_EAT,SND_DIE,SND_ATTACK,SND_FOOD_FROM_GOD, SND_EAT_BOT,
// SND_RENEGADE, SND_CANNIBAL, SND_BORN};
SoundManager * SoundManager::m_instance = 0;
SoundManager::SoundManager()
{
m_instance = 0;
NUM_SOUNDS = 8;
m_sound = true;
}
SoundManager::~SoundManager()
{
delete[] *m_sounds;
delete m_sounds;
}
void SoundManager::LoadSounds(CL_ResourceManager *manager)
{
m_sounds = new CL_SoundBuffer *[NUM_SOUNDS];
m_sounds[SND_EAT] = new CL_SoundBuffer("sounds/eat",manager);
m_sounds[SND_DIE]= new CL_SoundBuffer("sounds/die",manager);
m_sounds[SND_ATTACK] =new CL_SoundBuffer("sounds/attack",manager);
m_sounds[SND_FOOD_FROM_GOD] =new CL_SoundBuffer("sounds/food_from_god",manager);
m_sounds[SND_EAT_BOT] =new CL_SoundBuffer("sounds/eat_bot",manager);
m_sounds[SND_RENEGADE] = new CL_SoundBuffer("sounds/renegade",manager);
m_sounds[SND_CANNIBAL] = new CL_SoundBuffer("sounds/cannibal",manager);
m_sounds[SND_BORN] = new CL_SoundBuffer("sounds/born",manager);
}
void SoundManager::SetSound(bool on)
{
m_sound = on;
}
bool SoundManager::PlaySound(Sound snd)
{
if(!m_sound) return false;
CL_SoundBuffer_Session session = m_sounds[snd]->prepare();
session.play();
return true;
}
SoundManager * SoundManager::GetInstance()
{
if(m_instance == 0)
{
m_instance = new SoundManager();
}
return m_instance;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -