Timers con Pausa en Corona SDK

Time Machine Apps Logo

Time Machine Apps

Después de unos meses de trabajo duro, que nos han tenido alejados del blog, volvemos con energía renovada, mucho trabajo ya hecho, y con nuevas superproducciones que están a punto de salir.

Fruto de este trabajo hemos generado un sin fin de fragmentos de código útiles que queremos ir compartiendo con la comunidad. En concreto, en esta entrada veremos un tema relacionado con los timers de Corona SDK.

Los timers son útiles en muchas situaciones dentro del desarrollo de un juego: eventos que activan puertas, duración de la invulnerabilidad del jugador, etc. Sin embargo, ¿qué pasa cuando queremos pausar el juego? ¿cómo lo hacemos para parar y recuperar el estado de estos timers cuando realizamos una pausa del juego? En otros entornos, tenemos la posibilidad de pausar dichos timers y reanudarlos cuando la pausa termina. Pero esto no es así en Corona SDK, de forma que si no lo controlamos, pueden ejecutarse acciones asociadas a timers mientras el juego está en pausa.

Vamos a ver el código con el que podemos resolver este problema. En este ejemplo de código, aparecen dos botones en la pantalla, uno para pausar el juego y otro para poner bombas. Éste último botón ejecuta un timer que producirá una explosión de una bomba 3 segundos después. Lógicamente dichas explosiones serán simuladas, apareciendo toda la información en la consola del Corona.

El código está comentado (los he escrito en inglés para que ayuden a la mayor gente posible, disculpad como siempre mi cutre-inglés :)), espero que os sea útil. Cualquier sugerencia es bienvenida. Un saludo a todos.