Last ned demoen og kildekode FOR WINDOWS
Last ned demoen og kildekode for Linux
TILBAKE TIL TUTORIAL INDEX
< p> Ogre har ingen støtte for lyder - det er en grafikk bare gjengivelse. Lydeffekt i spillet vil bli gitt courtesy of IrrKlang lydprosessor, som er laget av gutta som gjorde Irrlicht 3D-motor. IrrKlang er en solid motor, og vi er nødt til å gjøre svært lite for å få den opp og kjører.
Vi vil bryte opp IrrKlang motoren i en klasse samtale IrrKlangEngineManager.
Dette er en svært tynn wrapper som i utgangspunktet starter lyden motor, utsetter det så lydeffekt kan spilles, og renser den opp. I tillegg vil det IrrKlangEngineManager opprettholde referanser til alle forekomster av RandomSoundEffect, som er en klasse som vi vil skape for å legge til tilfeldige omgivelseslyder til nivået.
IrrKlangEngineManager.h
/* * IrrKlangEngineManager .h * * Forfatter: Matthew Casperson * E-post: [email protected] * Nettside: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef IRRKLANGENGINEMANAGER_H_ # definere IRRKLANGENGINEMANAGER_H_ # include "liste" # inkludere "irrKlang.h" #include "RandomSoundEffect.h" typedef std :: liste RandomSoundEffectList; bruker namespace irrklang; #define IRRKLANGENGINEMANAGER IrrKlangEngineManager :: Instance () klasse IrrKlangEngineManager {public: ~ IrrKlangEngineManager (); statisk IrrKlangEngineManager & Instance () {statisk IrrKlangEngineManager eksempel; returnere eksempel; } Void Startup (); void Shutdown (); ISoundEngine * GetSoundEngine () const {return motor;} RandomSoundEffect * GetRandomSoundEffect (); beskyttet: IrrKlangEngineManager (); void InitialiseVariables (); ISoundEngine * motor; RandomSoundEffectList randomSounds;}; # endif
IrrKlangEngineManager.
cpp
#include "IrrKlangEngineManager.h" IrrKlangEngineManager :: IrrKlangEngineManager () {InitialiseVariables ();} IrrKlangEngineManager :: ~ IrrKlangEngineManager () {} void IrrKlangEngineManager: :. InitialiseVariables () {motor = NULL;}Startup funksjonen initialiserer IrrKlang motor, og holder en peker til det
void IrrKlangEngineManager :: Startup () {motor = createIrrKlangDevice ();} < p> Shutdown funksjonen slår seg og sletter alle RandomSoundEffect objekter, og den ødelegger IrrKlang lydprosessor.
annullere IrrKlangEngineManager :: Shutdown () {for (RandomSoundEffectList :: iterator ITER = randomSounds.begin () ;! ITER = randomSounds.end (); ++ ITER) {RandomSoundEffect * effekt = * ITER; if (effekt-> IsStarted ()) effekt->Ny funksjon av Adobe Flash CS4
- C ++ - Ta tyren ved hornene
- PHP-funksjonen Basics
- Å gjøre en Space Invaders-klone med taste - Den første fiende
- Pakker og Subtyper
- Windows List Box Notifications
- Virus Programmering: Batch File programmering
- C Pointers
- Hvordan planlegge Out Rutiner for en strukturert Computer Program
- Forhåndsdefinerte Unntak Object i Php
- Nybegynnere guide til c ++