Download de demo en de broncode voor Windows
Download de demo en de broncode voor Linux
Terug naar de tutorial INDEX
< p> Ogre heeft geen ondersteuning voor geluid - het is een grafische alleen rendering engine. Geluidseffect in het spel zal worden verstrekt met dank aan de IrrKlang sound engine, die is gemaakt door de jongens die de Irrlicht 3D-engine gemaakt. IrrKlang is een solide motor, en we gaan te hebben om weinig te doen om het te krijgen up and running.
We zullen wikkel het IrrKlang motor in een klasse oproep IrrKlangEngineManager.
Dit is een zeer dunne wrapper die in principe begint het geluid motor, onthult het zo geluidseffect gespeeld kan worden, en reinigt het op. Daarnaast zal de IrrKlangEngineManager behouden verwijzingen naar alle gevallen van RandomSoundEffect, dat is een klasse die we zullen maken om willekeurige ambient geluiden toevoegen aan het niveau.
IrrKlangEngineManager.h
/* * IrrKlangEngineManager .h * * Auteur: Matthew Casperson * E-mail: [email protected] * Website: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef IRRKLANGENGINEMANAGER_H_ # definiëren IRRKLANGENGINEMANAGER_H_ # include "lijst" # omvatten "irrKlang.h" #include "RandomSoundEffect.h" typedef std :: lijst RandomSoundEffectList; using namespace irrklang; #define IRRKLANGENGINEMANAGER IrrKlangEngineManager :: aanleg () klasse IrrKlangEngineManager {public: ~ IrrKlangEngineManager (); statische IrrKlangEngineManager & aanleg () {statische IrrKlangEngineManager bijvoorbeeld; Zo keren; } Leegte Startup (); leegte Shutdown (); ISoundEngine * GetSoundEngine () const {return motor;} RandomSoundEffect * GetRandomSoundEffect (); beschermd: IrrKlangEngineManager (); leegte InitialiseVariables (); ISoundEngine * motor; RandomSoundEffectList randomSounds;} # endif
IrrKlangEngineManager.
cpp
#include "IrrKlangEngineManager.h" IrrKlangEngineManager :: IrrKlangEngineManager () {InitialiseVariables ();} IrrKlangEngineManager :: ~ IrrKlangEngineManager () {} leegte IrrKlangEngineManager: :. InitialiseVariables () {motor = NULL;}De Startup-functie initialiseert de IrrKlang motor, en houdt een verwijzing naar deze
leegte IrrKlangEngineManager :: Startup () {motor = createIrrKlangDevice ();} < p> De Shutdown-functie uitgeschakeld en verwijdert alle RandomSoundEffect objecten en het vernietigt de IrrKlang klankbron.
ongeldig IrrKlangEngineManager :: Shutdown () {voor (RandomSoundEffectList :: iterator iter = randomSounds.begin () ;! iter = randomSounds.end (); ++ iter) {RandomSoundEffect * effect = * iter; if (effect-> IsStarted ()) effect->Nieuwe functie van Adobe Flash CS4
- Basisprincipes van ActivePerl Variables
- Het moet weten in Database Design en MySQL Server
- Software Development Kit (SDK)
- Manipuleren van gegevens in Sybase
- Iphone Tekening op een plaatje Part 1
- RDBMS Concepts
- Inleiding tot formulierveld Validatie Met Javascript
- Hoe je iPod Touch /iPhone Firmware 3.1.2 Krijg en jailbreaken het voor 1G, 2G, 3…
- Met behulp van reguliere expressies in Perl
- Passeren SCJP exam