miércoles, 4 de febrero de 2015

#Script Cronometro descendente #Unity - Down Timer


El siguiente script es de formato *js o JavaScript y permite contar el tiempo de forma descendente.

Muy útil cuando deseas controlar el tiempo que transcurre en una escena. Este script te permite darle un tiempo de vida a la escena, por ejemplo en el juego de Mario Bros los usuarios tienen un tiempo límite para completar el nivel o sino mueren. 


El siguiente código se lo pueden poner a algún gameobject vació o a cualquier elemento que se encuentre en la escena.

Si deseas realizar un cronómetro ascendente, puedes revisar la publicación: Cronómetro ascendente en este mismo blog.

* JS
-------------------------------------------

private var startTime: float;
private var restSeconds : int;
private var roundedRestSeconds : int;
static var displaySeconds : int;
private var displayMinutes : int;
var text;
var countDownSeconds : int; // en esta variable se indica cuando segundos durará el nivel

function Awake() {
    startTime = Time.time;
}

function OnGUI () {
    var guiTime : float = (Time.time) - (startTime);
    restSeconds = countDownSeconds - (guiTime);

    if (restSeconds == 0) {
        Application.LoadLevel("GameOver"); // al llegar a cero, cambio de nivel
    }

    //Muestro el cronómetro
    roundedRestSeconds = Mathf.CeilToInt(restSeconds);
    displaySeconds = roundedRestSeconds % 60;
    displayMinutes = roundedRestSeconds / 60;

    text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds);
    GUI.Label (Rect (400, 25, 100, 30), text); //dibuja el tiempo en pantalla
}

-------------------------------------------

No hay comentarios:

Publicar un comentario