*   >> lukeminen koulutus Artikkelit >> science >> programming

Making 3D-peli, jossa Ogre - Äänen lisääminen Effects

Sammuta (); poistaa vaikutus; } RandomSounds.clear ();
 Moottorinohjausjärjestel-> pisara (); InitialiseVariables ();} 

Aivan kuten WeaponDatabase, IrrKlangEngineManager sisältää kokoelman esineitä, RandomSoundEffect esineitä tässä tapauksessa, ja yrittää palauttaa käyttämätön yksi altaan kun kohde haetaan kautta GetRandomSoundEffect toiminto, tai tulee luoda uuden RandomSoundEffect, lisää se uima-allas, ja sitten palauttaa sen.

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

begin (); iter! = randomSounds. pää (); ++ ITER) {RandomSoundEffect * vaikutus = * ITER; jos (! vaikutus-> IsStarted ()) palauttaa vaikutus; } RandomSoundEffect * vaikutus = uusi RandomSoundEffect (); randomSounds.push_back (vaikutus); palata vaikutus;}

Jotta pelata äänitehosteet kutsumme play2D toiminto IrrKlang äänen moottori. Bullet luokka käyttää tätä toimintoa pelata äänitehosteet kun luoti on ammuttu.

 kellua Bullet :: Startup (vakio Vektori3 & asennossa) {Ase :: Startup (asema); this-> billboardSet = GAMELEVEL.

GetSceneManager () -> createBillboardSet (Utilities :: GetUniqueName ("BillboardSet"), 1); this-> billboardSet-> setMaterialName ("Bullet"); this-> mainostaulu = billboardSet-> createBillboard (Vektori3 :: ZERO, väri); this-> weaponSceneNode-> attachObject (billboardSet); this-> weaponSceneNode-> asteikko (BULLET_SCALE, BULLET_SCALE, BULLET_SCALE); IRRKLANGENGINEMANAGER.GetSoundEngine () -> play2D (BULLET_SOUNDFX); palata timeBetweenShots;}

Kuten aikaisemmin mainittiin, RandomSoundEffect luokka on tapana pelata ympäristön äänitehosteet satunnaisin väliajoin koko tasolla.

Se toimii istuu taustalla, ja joka toinen se satunnaisesti määrittää, jos se pitäisi toistaa äänitehoste, joka perustuu taajuus, joka syötetään Startup toiminto. Taajuus 10 tarkoittaa, että joka toinen on 1 10 mahdollisuus äänitehosteen toistetaan.

RandomSoundEffect.h

 /* * RandomSoundEffect.h * * Tekijä: Matthew Casperson * Sähköposti: [email protected] * Verkkosivusto: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef RANDOMSOUNDEFFECT_H_ # määritellä RANDOMSOUNDEFFECT_H_ # include "PersistentFrameListener.

h" luokka RandomSoundEffect: julkinen PersistentFrameListener {julkinen: RandomSoundEffect (); ~ RandomSoundEffect (); mitätöi Startup (std :: string tiedostonimi, int taajuus); void sammutus ();

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.