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

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

Shutdown (); radera effekt; } RandomSounds.clear ();
 motor-> drop (); InitialiseVariables ();} 

Precis som WeaponDatabase, den IrrKlangEngineManager innehåller en samling av föremål, RandomSoundEffect objekt i det här fallet, och kommer att försöka returnera en oanvänd en från poolen när ett föremål begärs genom GetRandomSoundEffect funktionen, eller kommer skapa en ny RandomSoundEffect, lägga till det i poolen, och sedan tillbaka Omdömen

 RandomSoundEffect * IrrKlangEngineManager :: GetRandomSoundEffect () {för (RandomSoundEffectList :: const_iterator iter = randomSounds.

begin ();. iter = randomSounds!. änden (); ++ iter) {RandomSoundEffect * effekt = * iter; if (! effekt-> IsStarted ()) retureffekt; } RandomSoundEffect * effekt = new RandomSoundEffect (); randomSounds.push_back (effekt); retur effekt;}

För att kunna spela en ljudeffekt vi kallar play2D funktionen från IrrKlang ljudmotor. Bullet klassen använder denna funktion för att spela en ljudeffekt när en kula avfyras Omdömen

 float Bullet :: Startup (const Vector3 & läge) {Vapen :: Startup (position). this-> billboardSet = GAMELEVEL.

GetSceneManager () -> createBillboardSet (Hjälpmedel :: GetUniqueName ("BillboardSet"), 1); this-> billboardSet-> setMaterialName ("Bullet"); this-> skylt = billboardSet-> createBillboard (Vector3 :: NOLL, färg); this-> weaponSceneNode-> attachObject (billboardSet); this-> weaponSceneNode-> skala (BULLET_SCALE, BULLET_SCALE, BULLET_SCALE); IRRKLANGENGINEMANAGER.GetSoundEngine () -> play2D (BULLET_SOUNDFX); retur timeBetweenShots;}

Som tidigare nämnts RandomSoundEffect klassen används för att spela omgivande ljudeffekter vid slumpmässiga intervall under nivån.

Det fungerar genom att sitta i bakgrunden, och varje sekund kommer slumpmässigt avgöra om det bör spela en ljudeffekt, baserat på en frekvens som matas till startfunktionen. En frekvens på 10 innebär att varannan det finns en 1 i 10 chans ljudeffekt spelas Omdömen

RandomSoundEffect.h Omdömen

 /* * RandomSoundEffect.h * * Författare.: Matthew Casperson * E-post: [email protected] * Hemsida: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef RANDOMSOUNDEFFECT_H_ # definierar RANDOMSOUNDEFFECT_H_ # include "PersistentFrameListener.

h" klass RandomSoundEffect: public PersistentFrameListener {public: RandomSoundEffect (); ~ RandomSoundEffect (); void

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