*   >> läser Utbildning artiklar >> science >> programming

Att göra en 3D-spel med Ogre - Lägga till ljud Effects

ladda ner demot och källkod för Windows Review

ladda ner demot och källkod för Linux Omdömen

TILLBAKA TILL Handledningen INDEX Omdömen < p> Ogre har inget stöd för ljud - det är ett grafiskt endast renderingsmotor. Ljudeffekt i spelet kommer att ges tillstånd av IrrKlang ljudmotorn, som är gjord av killarna som gjorde Irrlicht 3D-motorn. IrrKlang är en solid motor, och vi kommer att behöva göra mycket lite för att få det igång. Omdömen

Vi kommer att avsluta IrrKlang motorn i en klass samtals IrrKlangEngineManager.

Detta är en mycket tunn omslag som i huvudsak startar ljuddelen exponerar den så ljudeffekt kan spelas, och rensar upp den. Dessutom IrrKlangEngineManager kommer att behålla referenser till alla instanser av RandomSoundEffect, som är en klass som vi skapar för att lägga till slumpmässiga omgivningsljud till den nivå. Omdömen

IrrKlangEngineManager.h Omdömen

 /* * IrrKlangEngineManager -h * * Författare: Matthew Casperson * Email: [email protected] * Hemsida: https://www.brighthub.com/hubfolio/matthew-casperson.

aspx * /# ifndef IRRKLANGENGINEMANAGER_H_ # definierar IRRKLANGENGINEMANAGER_H_ # include "lista" # inkludera "irrKlang.h" #include "RandomSoundEffect.h" typedef std :: lista RandomSoundEffectList, using namespace irrklang, # define IRRKLANGENGINEMANAGER IrrKlangEngineManager :: instansrätten () klass IrrKlangEngineManager {public: ~ IrrKlangEngineManager (); statisk IrrKlangEngineManager & instansrätten () {statisk IrrKlangEngineManager instans; retur exempel; } Void start (); void avstängning (); ISoundEngine * GetSoundEngine () const {return motor;} RandomSoundEffect * GetRandomSoundEffect (); skyddad: IrrKlangEngineManager (); void InitialiseVariables (); ISoundEngine * motor; RandomSoundEffectList randomSounds;}; # endif

IrrKlangEngineManager.

cpp Omdömen

 #include "IrrKlangEngineManager.h" IrrKlangEngineManager :: IrrKlangEngineManager () {InitialiseVariables ();} IrrKlangEngineManager :: ~ IrrKlangEngineManager () {} void IrrKlangEngineManager: :. InitialiseVariables () {motor = NULL;} 

Funktionen start initierar IrrKlang motorn och håller en pekare till det Omdömen

 void IrrKlangEngineManager :: Startup () {motor = createIrrKlangDevice ();} < p> Shutdown-funktionen stängs av och tar bort alla RandomSoundEffect objekt och förstör IrrKlang ljudmotorn.

Omdömen

 annullera IrrKlangEngineManager :: avstängning () {för (RandomSoundEffectList :: iterator iter = randomSounds.begin () ;! iter = randomSounds.end (); ++ iter) {RandomSoundEffect * effekt = * iter; if (effekt-> IsStarted ()) effekt->

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.