o download do demo e código fonte PARA WINDOWS
o download do demo e código fonte para Linux
Voltar ao Índice TUTORIAL
< p> Ogre não tem suporte para sons - é uma renderização de gráficos único motor. Efeito de som no jogo será uma cortesia do motor de som IrrKlang, que é feito pelos caras que fizeram o motor Irrlicht 3D. IrrKlang é um motor sólido, e nós vamos ter que fazer muito pouco para obtê-lo em funcionamento.
Vamos encerrar o motor IrrKlang em um IrrKlangEngineManager chamada classe.
Este é um wrapper muito fina que, basicamente, começa o som do motor, expõe sua aplicação para que o som pode ser jogado, e limpa-lo. Além disso, o IrrKlangEngineManager manterá referências a todas as instâncias de RandomSoundEffect, que é uma classe que vamos criar para adicionar ruídos ambientais aleatórios para o nível.
IrrKlangEngineManager.h
/* * IrrKlangEngineManager .h * * Autor: Matthew Casperson * Email: * [email protected] Website: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef IRRKLANGENGINEMANAGER_H_ # definir IRRKLANGENGINEMANAGER_H_ # incluem "lista" # incluem "irrKlang.h" #include "RandomSoundEffect.h" typedef std :: lista RandomSoundEffectList; using namespace irrklang; #define IRRKLANGENGINEMANAGER IrrKlangEngineManager :: Instância () classe IrrKlangEngineManager {public: ~ IrrKlangEngineManager (); estática IrrKlangEngineManager & Instância () {instância IrrKlangEngineManager estático; instância retornar; } Vazio Startup (); Shutdown void (); ISoundEngine * GetSoundEngine () {const motor retorno;} RandomSoundEffect * GetRandomSoundEffect (); protegido: IrrKlangEngineManager (); InitialiseVariables void (); ISoundEngine * motor; RandomSoundEffectList randomSounds;}; # endif
IrrKlangEngineManager.
cpp
#include "IrrKlangEngineManager.h" IrrKlangEngineManager :: IrrKlangEngineManager () {InitialiseVariables ();} IrrKlangEngineManager :: ~ IrrKlangEngineManager () {} IrrKlangEngineManager vazio: :. InitialiseVariables () {motor = NULL;}A função de inicialização inicializa o motor IrrKlang, e mantém um ponteiro para ele
IrrKlangEngineManager vazio :: Startup () {motor = createIrrKlangDevice ();} < p> A função de desligamento desliga e exclui todos os objetos RandomSoundEffect, eo destrói o motor de som IrrKlang.
anular IrrKlangEngineManager :: Shutdown () {for (RandomSoundEffectList :: iterator iter = randomSounds.begin () ;! iter = randomSounds.end (); iter ++) {RandomSoundEffect * * = efeito iter; if (efeito-> IsStarted ()) effect>Novo recurso do Adobe Flash CS4
- Atualizando os drivers no Windows Vista ou XP
- Adicione áudio fluindo a seu Website
- Identificadores de objeto C
- Conhecendo o motor Irrlicht 3D - Collision Detection
- Css Dimensões e resoluções
- Os aplicativos úteis na lista de aplicativos para iPads
- Consultando Sybase Database
- Ruby on Rails Primeira Encounter
- Contratar DotNetNuke Developer para personalizado DNN Development
- Desenho Iphone sobre uma imagem Parte 1