*   >> Lezen Onderwijs artikelen >> science >> programming

Het maken van een 3D-spel met Ogre - Het toevoegen van geluid Effects

Shutdown (); effect verwijderen; } RandomSounds.clear ();
 Motor-> druppel (); InitialiseVariables ();} 

Net als de WeaponDatabase, de IrrKlangEngineManager bevat een verzameling van voorwerpen, RandomSoundEffect objecten in dit geval, en zal proberen om een ​​ongebruikte één terug te keren van het zwembad als een object wordt aangevraagd door de GetRandomSoundEffect functie, of zal maak een nieuwe RandomSoundEffect, toe te voegen aan het zwembad, en dan terug

 RandomSoundEffect * IrrKlangEngineManager :: GetRandomSoundEffect () {voor (RandomSoundEffectList :: const_iterator iter = randomSounds.

begin ();. iter = randomSounds!. end (); ++ iter) {RandomSoundEffect * effect = * iter; if (! effect-> IsStarted ()) terug effect; } RandomSoundEffect * effect = new RandomSoundEffect (); randomSounds.push_back (effect); terug effect;}

Om een ​​geluidseffect we de play2D functie uit de IrrKlang klankbron bellen spelen. De Bullet klasse gebruikt deze functie om een ​​geluidseffect wanneer een kogel afgevuurd spelen

 float Bullet :: Startup (const Vector3 & positie) {Wapen :: Startup (positie).; this-> billboardSet = GAMELEVEL.

GetSceneManager () -> createBillboardSet (Utilities :: GetUniqueName ("BillboardSet"), 1); this-> billboardSet-> setMaterialName ("Bullet"); this-> billboard = billboardSet-> createBillboard (Vector3 :: ZERO, kleur); this-> weaponSceneNode-> attachObject (billboardSet); this-> weaponSceneNode-> schaal (BULLET_SCALE, BULLET_SCALE, BULLET_SCALE); IRRKLANGENGINEMANAGER.GetSoundEngine () -> play2D (BULLET_SOUNDFX); timeBetweenShots terugkeren;}

Zoals eerder vermeld, de klasse RandomSoundEffect wordt gebruikt om geluidseffecten op willekeurige tijdstippen gedurende het niveau te spelen.

Het werkt door het zitten in de achtergrond, en elke seconde zal het willekeurig bepalen of het een goed effect zou moeten spelen, gebaseerd op een frequentie die wordt geleverd aan de Startup-functie. Een frequentie van 10 betekent dat per seconde is er een 1 op 10 kans op het geluidseffect wordt gespeeld

RandomSoundEffect.h

 /* * RandomSoundEffect.h * * Auteur:. Matthew Casperson * E-mail: [email protected] * Website: https://www.brighthub.com/hubfolio/matthew-casperson.

aspx * /# ifndef RANDOMSOUNDEFFECT_H_ # definiëren RANDOMSOUNDEFFECT_H_ # incl

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.