miércoles, 22 de abril de 2015

Menú de pausa

En los últimos artículos sobre sonido conté como iba a usar un filtro de paso bajo para el menú de pausa, pero como no tenía hecha la lógica para pausar no pude enseñar como sonaba.


Lo primero es crear un pequeño Hud para el menú de pausa, aunque sea sin opciones ni botones ni nada, solo un panel que nos diga que hemos pausado, ya iremos añadiendo opciones. Así que dentro del canvas de UI creo un panel que será el menú de pausa y dentro una imagen (temporal).


He añadido en el input un botón para la pausa, en teclado el esc. Al poner la pausa se activa el panel de UI de pausa, se cambia el parámetro del fitro de paso bajo para que la música de fondo suene como queríamos, y además hay que parar el juego claro, sino las cosas se seguirían moviendo, vaya mierda de pausa.

Para parar el juego solo tenemos que poner la escala de tiempo a 0. Es como parar el tiempo virtual del juego, literalmente pausar nuestro mundo virtual. Con esto dejan de funcionar animaciones, físicas, interpolaciones, temporizadores, todo. Menos la música, que es justo lo que queremos.

Pero surgió un problema. No se movían las cosas pero si se registraban las teclas pulsadas. Esto es que si pausamos el juego, pulsamos salto y despausamos, el jugador saltará al quitar la pausa. Y claro eso no se puede permitir, que manejemos al personaje con el juego pausado, aunque las acciones no sean inmediatas.

Para poder arreglar esto tuve que hacer bien el control de personaje que estaba parcheado desde la migración de Unity 5 para probar cosas, una vez puesto todo en su sitio, en clases separadas y todo funcionando, ya evitar que los botones pulsados en la pausa se tuvieran en cuenta al volver del juego fue solo añadir una condición.

No hay comentarios :

Publicar un comentario