📄 csound.cpp
字号:
#include "CSound.h"
//=========================================================================
// Name:CSound
// Desc:All the static members are here to be Init
//
//=========================================================================
HCHANNEL CSound::c_SplashMusic = 0;
HCHANNEL CSound::c_GameMusic = 0;
//=========================================================================
// Name:CSound
// Desc:Constructors
//
//=========================================================================
CSound::CSound( HGE *hgeEngine , hgeResourceManager *resMgr )
{
m_hgeEngine = hgeEngine;
m_resMgr = resMgr;
m_SoundresMgr = NULL;
m_GameMusic = NULL;
m_SplashMusic = NULL;
m_bomb = NULL;
m_dirChange = NULL;
m_expl[0] = NULL;
m_expl[1] = NULL;
m_expl[2] = NULL;
m_expl[3] = NULL;
m_expl[4] = NULL;
m_shoot = NULL;
m_levelup = NULL;
m_gameover = NULL;
m_background = NULL;
m_Rotate = NULL;
m_Light = NULL;
m_Color = NULL;
m_SoundBackgournd = true;
m_Effect = true;
}
//=========================================================================
// Name:Init
// Desc:Init the sound system
//
//=========================================================================
bool CSound::Init()
{
m_SoundresMgr = new hgeResourceManager( "data/Music.txt" );
//m_SplashMusic= m_resMgr->GetMusic( "SplashMusic");
//m_GameMusic = m_resMgr->GetMusic( "GameMusic");
m_bomb = m_SoundresMgr->GetEffect( "Bomb" );
m_dirChange = m_SoundresMgr->GetEffect( "DirChange" );
m_shoot = m_SoundresMgr->GetEffect( "Shoot" );
m_levelup = m_SoundresMgr->GetEffect( "Levelup" );
m_gameover = m_SoundresMgr->GetEffect( "Gameover" );
m_background= m_SoundresMgr->GetEffect( "Background" );
m_Rotate = m_SoundresMgr->GetEffect( "Rotate" );
m_Light = m_SoundresMgr->GetEffect( "Light" );
m_Color = m_SoundresMgr->GetEffect( "Color" );
char name[64] = {0};
for( int i = 0; i < SOUND_EXPL_COU; ++ i )
{
sprintf( name, "Expl%d", i + 3 );
m_expl[i] = m_SoundresMgr->GetEffect( name );
}
return true;
}
//=========================================================================
// Name:Release
// Desc:
//
//=========================================================================
void CSound::Release()
{
SAFE_DELETE( m_SoundresMgr );
//do nothing
}
void CSound::SoundSplash( e_SplashSound type )
{
/*switch( ) m_hgeEngine->Channel_Stop( m_SplashchlBomb );
m_hgeEngine->Effect_PlayEx( m_SplashExpl, 80, 0, 1 ); */
}
void CSound::SoundGame(e_GameSound type , int count)
{
if( !m_Effect )
return;
switch( type )
{
case SOUND_GAME_BOMB:
m_hgeEngine->Effect_PlayEx( m_bomb, 80, 0, 1, false );
break;
case SOUND_GAME_DIRCHANGE:
m_hgeEngine->Effect_PlayEx( m_dirChange, 80, 0, 1, false );
break;
case SOUND_GAME_LEVELUP:
m_hgeEngine->Effect_PlayEx( m_levelup, 80, 0, 1, false );
break;
case SOUND_GAME_GAMEOVER:
m_hgeEngine->Effect_PlayEx( m_gameover, 80, 0, 1, false );
break;
case SOUND_GAME_BACKGROUND:
if( m_SoundBackgournd )
{
m_backChl = m_hgeEngine->Effect_PlayEx( m_background, 80, 0, 1, true );
}
else
{
m_hgeEngine->Channel_Stop( m_backChl );
}
break;
case SOUND_GAME_EXPL:
m_hgeEngine->Effect_PlayEx( m_expl[ count - 3 ], 80, 0, 1, false );
break;
case SOUND_GAME_SHORT:
m_hgeEngine->Effect_PlayEx( m_shoot, 60, 0, 1, false );
break;
case SOUND_GAME_ROTATE:
m_hgeEngine->Effect_PlayEx( m_Rotate, 60, 0, 1, false );
break;
case SOUND_GAME_LIGHT:
m_hgeEngine->Effect_PlayEx( m_Light, 60, 0, 1, false );
break;
case SOUND_GAME_COLOR:
m_hgeEngine->Effect_PlayEx( m_Color, 60, 0, 1, false );
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -