soundmanager.cpp

来自「BugBots是一个游戏」· C++ 代码 · 共 68 行

CPP
68
字号
#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 + =
减小字号Ctrl + -
显示快捷键?