Sion Tower (demo técnica) 0.1
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:
namenombre del recurso tipo SoundFX a cargar.
groupnombre del grupo al que pertenece el recurso. Por defecto es el grupo "General".
listenerNodepuntero al nodo que escucha el sonido.
sourceNodepuntero al nodo que emite el sonido.
Sound3D::Sound3D ( SoundFXPtr  s,
Ogre::SceneNode *  listenerNode = 0,
Ogre::SceneNode *  sourceNode = 0 
)

Constructor

Parámetros:
spuntero inteligente al sonido asociado al efecto 3D.
listenerNodepuntero al nodo que escucha el sonido.
sourceNodepuntero al nodo que emite el sonido.
Sound3D::~Sound3D ( )

Destructor


Documentación de las funciones miembro

void Sound3D::channelFinished ( int  channel) [static]
Parámetros:
channelcanal 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:
loopnú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:
epuntero al nuevo nodo que escucha el efecto.
void Sound3D::setSourceNode ( const Ogre::SceneNode *  sourceNode)
Parámetros:
fpuntero 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:
 Todo Clases Archivos Funciones 'typedefs' Enumeraciones