| Tabla de contenidos |

Tutorial 2: Audio y mejoras visuales

Sonidos espaciales

Ya sabemos que en el espacio, por la falta de aire, no hay sonido pero una batalla espacial silenciosa, como nos ha enseñado el cine, pierde mucho. Por ello vamos a acompañar la acción con unos bonitos sonidos de explosiones y disparos.

Lo primero es importar los sonidos. En la carpeta Audio añadimos un par de objetos de la clase AudioClip. Navegaremos por los archivos del proyecto hasta encontrar y seleccionar "explosion.ogg" y "zing2.ogg". De forma semejante a las imágenes podemos importar en bloque todos los audios seleccionados. El nombre de los objetos es inicialmente el del archivo pero podremos cambiarlo si queremos.

El siguiente paso es lanzar el sonido correspondiente en la situación requerida.

En la máquina de estado de la explosión, añadimos un estado de la clase PlayAudioAction. En su atributo audio asignamos explosion.ogg. Esta acción estará activada desde el estado inicio.

Al probar vemos que hasta que no acaba el sonido de la explosión no puede sonar uno nuevo. Sólo pueden sonar, simultáneamente, un número de sonidos limitados al número de canales de audio configurados en el objeto audio de la rama Configs. Hay varias estrategias disponibles para asignar los canales.

Configuraremos el objeto explosion.ogg con max = 6. Eso hará que puedan sonar hasta 6 explosiones simultáneamente. Aún así puede que haya ocasiones en las que no haya canales libres suficientes. Para ello configuramos el objeto PlayAudioAction con channel_select = Recycle. Esto hará que cuando no haya canales libres reciclará uno en el que ya esté sonando la explosión.

Haremos lo equivalente en la máquina de estados de la bala. En este caso el sonido será zing2.ogg.

Añadiendo un fondo estrellado

Mejoremos la ambientación. Pongamos un fondo estrellado y nebuloso. Que se vea que estamos en el espacio sideral.

Volvemos al editor de escenarios y añadimos una capa gráfica (clase ImageLayer) al único escenario que tenemos de momento. Nos aseguraremos de que sea la primera capa para que se pinte antes que las demás, no sea que los marcianos queden detras de las estrellas y nebulosas.

Usaremos la imagen estrella.png que es una especie de glóbulo blanco. Para colocarla en la capa gráfica, la arrastramos desde el Object Browser hasta la ventana central en la posición deseada. Podemos cambiar el tamaño, y el color desde el editor de la capa en el Object Inspector. Cuando tengamos una estrella que nos guste la podemos copiar las veces que queramos.

Con esta imagen y las últimas de la explosión, dando rienda suelta al artista que llevamos dentro, podemos conseguir un fondo espacial de lo más chulo.

No queda mal, pero es algo estático. Sería mucho mejor si se desplazara lentamente hacia abajo, daría la sensación de que perseguimos a los marcianos. Para conseguirlo, basta con darle un desplazamiento contínuo a esa capa.

En el atributo shifting introducimos una expresión que dependa del tiempo de juego. También necesitamos hacer la capa cíclica en la dimensión vertical, si no acabará desapareciendo la capa entera. Para ello asignamos (0, 1200) al atributo cycle.

Comprobemos el resultado.

 
Tutorial 2: Sistema de puntuación   Tutorial 2: Niveles del juego


(C) Paco Suárez (pacosu@xitai,es). 2020.
XITAI