Métodos públicos | Métodos públicos estáticos

Referencia de la Clase Sound3D

Clase para simular sonidos en el espacio con una fuente y una entidad que escucha. Más...

#include <sound3D.h>

Lista de todos los miembros.

Métodos públicos

 Sound3D (const Ogre::String &name, const Ogre::String &group=Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, Ogre::SceneNode *listenerNode=0, Ogre::SceneNode *sourceNode=0)
 Sound3D (SoundFXPtr s, Ogre::SceneNode *listenerNode=0, Ogre::SceneNode *sourceNode=0)
 ~Sound3D ()
void play (int loop=0)
const Ogre::SceneNode * getListenerNode () const
const Ogre::SceneNode * getSourceNode () const
void setListenerNode (const Ogre::SceneNode *listenerNode)
void setSourceNode (const Ogre::SceneNode *sourceNode)

Métodos públicos estáticos

static void update3DSound ()
static void channelFinished (int channel)

Descripción detallada

Clase para simular sonidos en el espacio con una fuente y una entidad que escucha.

Autor:
David Saltares Márquez
Fecha:
29-12-2010

Esta clase utiliza el recurso SoundFX o el gestor SoundFXManager para reproducir efectos de sonido con un efecto pseudo-3D. Sound3D asocia un nodo emisor de sonido, un nodo que escucha y un efecto a reproducir. El volumen de la reproducción varía en función de la distancia y se produce un efecto estéreo en los altavoces en función del ángulo entre los nodos.

Es necesario actualizar el Sound3D en cada iteración del bucle de juego para que el volumen y el efecto estéreo reflejen lo que ocurre en la escena.

Ejemplo:

  Sound3D grito("disparo.wav");
  grito.setListenerNode(nodoPersonaje);
  grito.setSourceNode(nodoEnemigo);

  ...

  while(!salir) {
      ...

      if(enemigoHerido)
          grito.play();
      ...

      Sound3D::update3DSound();

      ...
  }

Documentación del constructor y destructor

Sound3D::Sound3D ( const Ogre::String &  name,
const Ogre::String &  group = Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
Ogre::SceneNode *  listenerNode = 0,
Ogre::SceneNode *  sourceNode = 0 
)

Constructor

Parámetros:
name nombre del recurso tipo SoundFX a cargar.
group nombre del grupo al que pertenece el recurso. Por defecto es el grupo "General".
listenerNode puntero al nodo que escucha el sonido.
sourceNode puntero al nodo que emite el sonido.
Sound3D::Sound3D ( SoundFXPtr  s,
Ogre::SceneNode *  listenerNode = 0,
Ogre::SceneNode *  sourceNode = 0 
)

Constructor

Parámetros:
s puntero inteligente al sonido asociado al efecto 3D.
listenerNode puntero al nodo que escucha el sonido.
sourceNode puntero al nodo que emite el sonido.
Sound3D::~Sound3D (  ) 

Destructor


Documentación de las funciones miembro

void Sound3D::channelFinished ( int  channel  )  [static]
Parámetros:
channel canal que acaba de finalizar su reproducción.

Método que utiliza el callback para gestionar internamente el fin de la reproducción de un efecto en un canal.

const Ogre::SceneNode * Sound3D::getListenerNode (  )  const
Devuelve:
puntero al nodo que escucha el efecto.
const Ogre::SceneNode * Sound3D::getSourceNode (  )  const
Devuelve:
puntero al nodo que emite el efecto.
void Sound3D::play ( int  loop = 0  ) 
Parámetros:
loop número de veces que se reproduce el efecto de sonido. -1 equivale a infinitas repeticiones, 0 equivale a 1 reproducción. En general, si bucle = n, el efecto se reproducirá n + 1 veces.

Reproduce el efecto 3D.

void Sound3D::setListenerNode ( const Ogre::SceneNode *  listenerNode  ) 
Parámetros:
e puntero al nuevo nodo que escucha el efecto.
void Sound3D::setSourceNode ( const Ogre::SceneNode *  sourceNode  ) 
Parámetros:
f puntero al nuevo nodo que emite el efecto.
void Sound3D::update3DSound (  )  [static]

Actualiza el volumen y el efecto estéreo de todos los efectos 3D en reproducción. Es necesario llamar a este método en cada iteración del bucle principal.


La documentación para esta clase fue generada a partir de los siguientes ficheros: