Animate CC Zeitfunktionen für Spiele

Beispiel tick/tick3b.fla

Hier stelle ich ein paar Funktionen vor, die man für Spiele gut gebrauchen kann. Man kann die Zeit starten, pausieren, beenden und wieder neu starten.

Der Startbutton dient dazu die Zeit neu zu starten und die Zeit nach einem Klick auf den Pause-Button weiterlaufen zu lassen. Der Stop Button beendet die Zeit. Wenn man anschließend wieder den Startbutton drückt, startet die Zeit wieder bei 0.

In der Funktion endTime wird die gesamte runTime in Sekunden der Variable spielzeit übergeben. Diese spielzeit wird von der angezeigten Zeit abgezogen. So dass bei einem erneuten Start die Zeit wieder bei 0 anfängt.
createjs.Ticker.getEventTime(true)
Der Argument true bezieht sich auf den Parameter runTime

createjs.Ticker.addEventListener("tick", tickTack.bind(this));

createjs.Ticker.paused = true;
var spielzeit = 0;



this.start_btn.addEventListener("click", startTime.bind(this));
this.pause_btn.addEventListener("click", pauseTime.bind(this));
this.stop_btn.addEventListener("click", endTime.bind(this));

function tickTack(evt) {
	var now = Math.round((evt.runTime) / 1000)-spielzeit;
	if (!evt.paused && now > 0) {
		this.zeitAnzeige.text = timeString(now);
	}
}

function startTime(){
	createjs.Ticker.paused = false;
}


function pauseTime(){
	createjs.Ticker.paused = true;
}

function endTime(){
	spielzeit = Math.round(createjs.Ticker.getEventTime(true)/1000);
	createjs.Ticker.paused = true;
}
function timeString(seconds) {
	var min = Math.floor(seconds / 60);
	var sec = seconds - (60 * min);
	var min2digit;
	(min < 10)? min2digit = "0"+min : min2digit = min;
	var sec2digit;
	(sec < 10)? sec2digit = "0"+sec : sec2digit = sec;
	return min2digit + ":" + sec2digit;
}