Files
chocomae/src/game/mouse/dodge/stop_watch.js
T

88 lines
2.1 KiB
JavaScript

function StopWatch() {
this.ellapsedTime = 0;
// this.startTime = 0;
this.isPaused = true;
var fontStyle = StopWatch.DEFAULT_TEXT_FONT;
this.timerText = game.add.text(game.world.centerX, 35, "", fontStyle);
this.timerText.anchor.set(0.5);
this.printTime();
// var grd = this.label.context.createLinearGradient(0, 0, 0, StopWatch.FONT_HEIGHT_PX);
// grd.addColorStop(0, '#8ED6FF');
// grd.addColorStop(1, '#004CB3');
// this.label.fill = grd;
// this.scoreText.fill = grd;
// this.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
// this.label.stroke = '#000';
// this.label.strokeThickness = 3;
this.timerEvent = null;
}
StopWatch.prototype.start = function() {
this.isPaused = false;
// this.startTime = game.time.totalElapsedSeconds();
this.ellapsedTimer = game.time.create(false);
this.timerEvent = this.ellapsedTimer.loop(10, this.updateTimer, this);
this.ellapsedTimer.start();
this.printTime();
// this.timerEvent = game.time.events.loop(Phaser.Timer.SECOND / 100, this.updateTimer, this);
}
StopWatch.prototype.pause = function() {
this.isPaused = true;
}
StopWatch.prototype.resume = function() {
this.isPaused = false;
}
StopWatch.prototype.stop = function() {
// var recordTime = game.time.totalElapsedSeconds() - this.startTime;
this.removeTimer();
// return recordTime;
return this.ellapsedTime;
}
StopWatch.prototype.updateTimer = function() {
if(this.isPaused == true)
return;
// this.ellapsedTime = game.time.totalElapsedSeconds() - this.startTime;
this.ellapsedTime += 0.01;
this.printTime();
}
StopWatch.prototype.printTime = function() {
this.timerText.text = RecordUtil.getRecordValueWithUnit(
this.ellapsedTime, sessionStorageManager.getPlayingAppID()
);
}
StopWatch.prototype.removeTimer = function() {
game.time.events.remove(this.timerEvent);
if(this.timerEvent)
this.timerEvent = null;
this.ellapsedTimer.stop();
this.ellapsedTimer = null;
}
StopWatch.FONT_HEIGHT_PX = 70;
StopWatch.DEFAULT_TEXT_FONT = {
font: "38px Arial",
align: "center",
boundsAlignH: "center", // left, center. right
boundsAlignV: "middle", // top, middle, bottom
fill: "#fff"
};