Este comando se utiliza para reproducir un fichero de audio de fondo durante el juego. Resulta muy útil para
músicas de fondo ya que soporta la repetición indefinida de la música o sonido cuando finaliza.
Soporta ficheros de audio tipo: mp3, wav, mod, s3m, xm, it, mtm, mo3, mp1, mp2 y ogg.
Este comando también se usa para controlar un sonido mientras se está reproduciendo, como pausarlo o detenerlo.
Sintaxis 1 (cargar un sonido):
ACCI SONIDO_FONDO
CARGAR
número_canal fichero_audio.ext volumen
Sintaxis 2 (reproducir un sonido):
ACCI SONIDO_FONDO
INICIAR
número_canal repetir
Sintaxis 3 (cambiar el volumen de un sonido):
ACCI SONIDO_FONDO
VOLUMEN
número_canal volumen
Sintaxis 4 (pausar un sonido):
ACCI SONIDO_FONDO
PAUSAR
número_canal
Sintaxis 5 (reanudar un sonido pausado):
ACCI SONIDO_FONDO
REANUDAR
número_canal
Sintaxis 6 (detener por completo un sonido):
ACCI SONIDO_FONDO
PARAR
número_canal
Sintaxis 7 (Eliminar por completo un sonido):
ACCI SONIDO_FONDO
ELIMINAR
número_canal
número_canal:
Admite valores entre 1 y 8.
Para la acción CARGAR sonido, es el número de canal que queremos asignarle a este sonido.
Para el resto de acciones, es el número de canal al que pertenece el sonido que queremos iniciar, pausar, reanudar,
parar, eliminar o cambiar su volumen.
fichero_audio.ext:
Es el nombre del fichero de audio (con su extensión) a cargar en memoria. Por ejemplo: musica5.mp3.
Si no especificas la extensión del fichero, el sistema buscará el fichero con todas las extensiones disponibles.
En cualquier caso, el fichero debe existir en la carpeta 'wav' de Entidad 3D, independientemente de la
extensión que tenga.
volumen:
Nivel del volumen con el que se reproducirá el sonido del canal indicado. Admite valores entre 1 y 100.
repetir:
Con valor si cuando la música o sonido finalice se volverá a repetir indefinidamente.
Con valor no la música o sonido no se volverá a repetir cuando finalice.
Acerca de este comando:
Este comando sirve principalmente para reproducir sonidos de ambientes, efectos continuos pero sólo en
zonas concretas, alarmas continuas, músicas secundarias, etc..., pero sin que la música de fondo deje de sonar, por lo
tanto podremos tener al mismo tiempo una música de fondo, un sonido de ambiente, alarmas de voz, etc.. todo
al mismo tiempo y cada sonido controlado por separado.
Este comando reproduce un sonido que el jugador no oirá como posicional, es decir, mientras el sonido esté
activado el jugador lo oirá con el mismo volumen y sin variaciones en los canales de sonido derecho o izquierdo
aunque se desplace por el nivel.
Si quieres usar sonidos posicionales, dispones de la
entidad 'ElectricBolt'.
Atención: Si has incluido una música de fondo para
que se reproduzca al dar comienzo el nivel, el canal número 1 será usado automáticamente para reproducir esa
música de fondo. Por lo que si quieres realizar algún tipo de acción sobre esa música deberás usar el valor 1 en
el parámetro 'número_canal' cuando uses el comando SONIDO_FONDO.
Por ejemplo, para pausar la música deberás usar:
ACCI SONIDO_FONDO PAUSAR 1
Ejemplo 1:
Reproducir el fichero de audio labofond.mp3 cuando el jugador
entre en un laboratorio químico. El sonido produce efectos de burbujas y sonidos electrónicos
mientras el jugador permanezca en el laboratorio.
En la puerta del laboratorio, en el lado del interior del laboratorio, colocar una entidad
Command con un fichero de comandos .INI asociado que contenga lo siguiente:
En este caso usamos la variable 'CARGASON2' para controlar no cargar dos veces el mismo sonido en el mismo
canal. Si no controlamos esto tampoco pasaría nada ni consumiría más memoria, pero sería una pérdida de tiempo
volver a cargar el sonido si ya lo tenemos cargado en memoria.
Para detener el sonido cuando el jugador salga del laboratorio, colocaremos otra entidad 'Command' en la
puerta, pero esta vez en la parte exterior del laboratorio, con un fichero de comandos .INI asociado que
contenga lo siguiente:
ACCI SONIDO_FONDO PARAR 2
Ejemplo 2:
Quiero cargar en memoria dos músicas (musica_a.mp3 y musica_b.mp3) al iniciar
mi juego, pero no quiero que suenen hasta que el jugador no alcance ciertas zonas del nivel.
Incluye lo siguiente en el fichero de comandos .INI que has indicado en el parámetro 'FicheroComandos' de la entidad
Configuracion de tu primer nivel:
ACCI SONIDO_FONDO CARGAR 2 musica_a.mp3 90
ACCI SONIDO_FONDO CARGAR 3 musica_b.mp3 90
Posteriormente en los ficheros de comandos .INI asociados a los eventos que quieres detectar si el jugador
alcanzó las zonas del nivel, debes usar la acción INICIAR del comando SONIDO_FONDO para iniciar la reproducción de cada
música. En el caso de la 'musica_a.mp3' sería simplemente:
ACCI SONIDO_FONDO INICIAR 2 si
Como habrás podido observar, no debes cargar la música cada vez que la quieras reproducir, sólo la debes
cargar una vez, a menos que hayas usado la acción ELIMINAR, ya que esta acción elimina por completo la
música asociada al canal y deja totalmente disponible dicho canal.
Ejemplo 3:
Quiero cambiar la música principal de fondo por otra diferente.
Si no necesitas tanto control sobre los sonidos y lo único que quieres es reproducir un efecto de sonido
de poca duración, lo más adecuado es usar el comando SONIDO_FX.