Download demoen og kildekode FOR WINDOWS
Download demoen og kildekode til Linux
TILBAGE TIL tutorial INDEX
Ogre har ingen støtte til lyde - det er en grafik kun rendering engine. Lyd effekt i spillet vil blive ydet høflighed af IrrKlang lydprocessor, som er lavet af de fyre, der gjorde Irrlicht 3D-motor. IrrKlang er en solid motor, og vi bliver nødt til at gøre meget lidt for at få det op at køre.
Vi vil ombryde op IrrKlang motor i en klasse opkald IrrKlangEngineManager.
Dette er en meget tynd omslag, der dybest set starter lyden motor, udsætter det så lydeffekt kan afspilles, og renser det. Desuden vil IrrKlangEngineManager opretholde referencer til alle forekomster af RandomSoundEffect, som er en klasse, som vi vil skabe for at tilføje tilfældige lyde i omgivelserne til det niveau.
IrrKlangEngineManager.h
/* * IrrKlangEngineManager .h * * Forfatter: Matthew Casperson * E-mail: [email protected] * Hjemmeside: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef IRRKLANGENGINEMANAGER_H_ # definerer IRRKLANGENGINEMANAGER_H_ # omfatte "liste" # omfatte "irrKlang.h" # include "RandomSoundEffect.h" typedef std :: liste RandomSoundEffectList, anvendelse namespace irrklang; # define IRRKLANGENGINEMANAGER IrrKlangEngineManager :: Instans () klasse IrrKlangEngineManager {public: ~ IrrKlangEngineManager (); statisk IrrKlangEngineManager & Instans () {statisk IrrKlangEngineManager instans; returnere eksempel; } Void Startup (); void Shutdown (); ISoundEngine * GetSoundEngine () const {tilbagevenden motor;} RandomSoundEffect * GetRandomSoundEffect (); beskyttet: IrrKlangEngineManager (); void InitialiseVariables (); ISoundEngine * motor; RandomSoundEffectList randomSounds;}; # endif
IrrKlangEngineManager.
cpp
#include "IrrKlangEngineManager.h" IrrKlangEngineManager :: IrrKlangEngineManager () {InitialiseVariables ();} IrrKlangEngineManager :: ~ IrrKlangEngineManager () {} ugyldig IrrKlangEngineManager: :. InitialiseVariables () {motor = NULL;}Start-funktionen initialiserer IrrKlang motor, og holder en pointer til det
ugyldig IrrKlangEngineManager :: Startup () {motor = createIrrKlangDevice ();} < p> Shutdown funktionen lukker ned og sletter alle de RandomSoundEffect objekter, og ødelægger IrrKlang lyd motor.
ugyldiggøre IrrKlangEngineManager :: Shutdown () {for (RandomSoundEffectList :: iterator iter = randomSounds.begin () ;! iter = randomSounds.end (); ++ ITER) {RandomSoundEffect * effekt = * iter; hvis (virkning-> IsStarted ()) virkning->Ny funktion af Adobe Flash CS4
- En kort oversigt over SQL Injection
- C ++ Operators
- Combo Box Messages
- Variabel erklæring i MySQL Compound Statement
- Hvor svært er det at lære programmering?
- Dit første Window
- Pakker og mange-til-mange Relationships
- Objektorienterede Programming
- Papervision 3D Programmering Tutorial - Simple LOD
- Pharmaceutical Service System Forslag (Technical)