*   >> Leitura Educação Artigos >> science >> programação

Fazendo um jogo 3D com Ogre - Adicionando o som Effects

Shutdown (); excluir efeito; } RandomSounds.clear ();
 engine-> Queda (); InitialiseVariables ();} 

Assim como o WeaponDatabase, o IrrKlangEngineManager contém uma coleção de objetos, objetos RandomSoundEffect neste caso, e tentará retornar um um não utilizado a partir do pool quando um objeto é solicitado através da função GetRandomSoundEffect, ou será criar um novo RandomSoundEffect, adicioná-lo para a piscina, e, em seguida, devolvê-lo

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

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

A fim de desempenhar um efeito de som que chamamos a função play2D a partir do motor de som IrrKlang. A classe Bala usa essa função a desempenhar um efeito sonoro sempre que uma bala é atirada

 flutuador Bala :: Startup (const Vector3 & posição) {Arma :: Startup (posição).; this-> billboardSet = GAMELEVEL.

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

Como foi mencionado anteriormente, a classe RandomSoundEffect é usado para reproduzir efeitos sonoros ambiente em intervalos aleatórios em todo o nível.

Ele funciona através sentado no fundo, e cada segundo que vai determinar aleatoriamente se ele deve desempenhar um efeito de som, com base em uma freqüência que é fornecido para a função de inicialização. A frequência de 10 significa que a cada segundo há uma chance de 1 em 10 o efeito de som será reproduzido

RandomSoundEffect.h

 /* * * * RandomSoundEffect.h Autor:. Matthew Casperson * Email: [email protected] * Site: https://www.brighthub.com/hubfolio/matthew-casperson.

aspx * /# ifndef RANDOMSOUNDEFFECT_H_ # definir RANDOMSOUNDEFFECT_H_ # incluem "PersistentFrameListener.h" class RandomSoundEffect: Pe

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.