Todos habéis jugado alguna vez a alguna aventura gráfica en la
que continuamente se estaba escuchando una música, generalmente en volumen
bajo y no demasiado machacona para no cansar. Pues bien, en esta ocasión
vamos a ver como podríamos hacer esto con NMP, con el que resulta
bastante fácil:
Supongamos primero que tenemos varias músicas de fondo, a saber: 1000.SBM,
1001.SBM y así hasta 1009.SBM (cuantas más mejor para evitar monotonía). También
sabemos que existe un proceso en NMP llamado proceso del Input que nos permite
controlar cosas mientras esperamos a la orden del jugador o bien en las pausas del
juego. Este proceso será el ideal para llevar el control del sistema de música
continuo:
- Añadimos a la tabla de constantes:
fAux=250
siendo el 250 un flag libre, en otro caso elegimos otro cualquiera.
- Añadimos al proceso del input:
-* *
BTST 0 12 ; comprobamos que no hay nada sonando
RANDOM fAUX 10 ; mete en en fAUX un numero ente 0 y 9
PLUS fAUX 1000 ; suma 1000 a fAUX
BCLR 0 13 ; nos aseguramos de que no toque cíclicamente
PLAY @fAUX ; y comenzamos a tocar
NOTDONE
Si queremos que no suenen todo el rato sino sólamente de vez en
cuando deberemos lograr que no se ejecute esta rutina cada vez que no
hay música, sino sólo de vez en cuando. Para ello nada más fácil que
añadir la orden:
CHANCE x
que es una condición que se cumple un x% de las veces (calcula un número
aleatoriamente y si este es menor que x se cumple).
Sin embargo teniendo en cuenta que la rutina tiene lugar en el proceso del
input, que se ejecuta varias veces por segundo, poner un solo CHANCE no
es muy eficaz, debido a que lo intentará tantas veces que alguna saldrá.
Es por eso que es conveniente poner varios CHANCE 1 (mínima posibilidad)
uno tras otro, hasta conseguir el efecto deseado (que tarde un rato en
iniciar otra melodía).
Por otra parte nuestra aventura puede tener usuarios que usen
el speaker y creedme, se hace molestísimo oir todo el rato músicas por
el speaker por lo cual recomiendo que para estos .SBM no se creen los
correspondientes .SBP.
Bueno, este es el fin de un nuevo capítulo, y os recuerdo que
sigo esperando vuestras colaboraciones, sea para el parser que sea,
porque esta es una sección que necesita de vuestra colaboración.
Carlos Sánchez
e-mail Internet: nmsoft@usa.net
Netmail FidoNet: 2:341/136.39
ÚLTIMA REVISIÓN EN FEBRERO DE 1999