*   >> Læs Uddannelse artikler >> science >> programming

Realiseringen af ​​et 3D-spil med Ogre - Tilføjelse lydeffekter

Shutdown (); slet effekt; } RandomSounds.clear ();
 motor-> dråbe (); InitialiseVariables ();} 

Ligesom WeaponDatabase, at IrrKlangEngineManager indeholder en samling af genstande, RandomSoundEffect objekter i dette tilfælde, og vil forsøge at returnere en ubrugt én fra puljen, når et objekt der anmodes gennem GetRandomSoundEffect funktionen, eller vil oprette en ny RandomSoundEffect, tilføje det til poolen, og derefter returnere det

 RandomSoundEffect * IrrKlangEngineManager :: GetRandomSoundEffect () {for (RandomSoundEffectList :: const_iterator ITER = randomSounds.

begin ();. ITER = randomSounds!. ende (); ++ ITER) {RandomSoundEffect * effekt = * iter; if (! virkning-> IsStarted ()) returnerer virkning } RandomSoundEffect * effekt = ny RandomSoundEffect (); randomSounds.push_back (virkning); returnere virkning}

For at afspille en lydeffekt vi kalder play2D funktion fra IrrKlang lyd motor. Den Bullet klasse bruger denne funktion til at afspille en lydeffekt, når en kugle er fyret

 float Bullet :: Opstart (const Vector3 & position) {Våben :: Startup (position).; this-> billboardSet = GAMELEVEL.

GetSceneManager () -> createBillboardSet (Hjælpeprogrammer :: GetUniqueName ("BillboardSet"), 1); this-> billboardSet-> setMaterialName ("Bullet") this-> billboard = billboardSet-> createBillboard (Vector3 :: NUL, farve); this-> weaponSceneNode-> attachObject (billboardSet); this-> weaponSceneNode-> skala (BULLET_SCALE, BULLET_SCALE, BULLET_SCALE); IRRKLANGENGINEMANAGER.GetSoundEngine () -> play2D (BULLET_SOUNDFX); returnere timeBetweenShots;}

Som tidligere nævnt, er RandomSoundEffect klasse bruges til at spille omgivende lydeffekter på tilfældige mellemrum hele niveauet.

Det virker ved at sidde i baggrunden, og hver anden vil det tilfældigt afgøre, om det skal spille en lydeffekt, baseret på en frekvens, der tilføres til idrifttagningsfunktion. En frekvens på 10 betyder, at hvert sekund er der et 1 i 10 chance lydeffekten vil blive spillet

RandomSoundEffect.h

 /* * RandomSoundEffect.h * * Forfatter:. Matthew Casperson * E-mail: [email protected] * Hjemmeside: https://www.brighthub.com/hubfolio/matthew-casperson.aspx * /# ifndef RANDOMSOUNDEFFECT_H_ # definerer RANDOMSOUNDEFFECT_H_ # omfatte "PersistentFrameListener.

h" klasse RandomSoundEffect: offentlig PersistentFrameListener {public: RandomSoundEffect

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.