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. |
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:
- /home/david/programacion/iberogre-siontower/siontower/siontower-3dsound-v0.1/include/sound3D.h
- /home/david/programacion/iberogre-siontower/siontower/siontower-3dsound-v0.1/src/sound3D.cpp