Add: experience app timer

This commit is contained in:
2018-09-27 12:43:28 +09:00
parent 4f34218c80
commit 988d289a70
8 changed files with 98 additions and 2 deletions
+77
View File
@@ -0,0 +1,77 @@
function ExperienceAppTimer() {
if(!isExperienceMaestroAccount()) {
return;
}
this.leftTime = ExperienceAppTimer.DEFAULT_LEFT_TIME_SEC;
this.onTimeOver = null;
var timeLeftText = game.add.text(
game.world.centerX + ExperienceAppTimer.OFFSET_POS_X,
game.world.height - ExperienceAppTimer.OFFSET_POS_Y,
"앱 체험 종료까지 ",
this.getFontStyle()
);
timeLeftText.anchor.set(1, 0.5);
timeLeftText.alpha = 0.5;
// timeLeftText.stroke = '#000';
// timeLeftText.strokeThickness = 3;
this.timerText = game.add.text(
game.world.centerX + ExperienceAppTimer.OFFSET_POS_X,
game.world.height - ExperienceAppTimer.OFFSET_POS_Y,
this.getLeftTimeText(),
this.getFontStyle()
);
this.timerText.anchor.set(0, 0.5);
// this.timerText.stroke = '#000';
// this.timerText.strokeThickness = 3;
// this.setTimeLimit(4);
this.loopTimer = game.time.events.loop(Phaser.Timer.SECOND, this.updateTimer, this);
};
ExperienceAppTimer.prototype.getFontStyle = function() {
return { font: "24px Arial", fill: "#f86", align: "left", boundsAlignH: "left", boundsAlignV: "bottom" };
}
ExperienceAppTimer.prototype.getLeftTimeText = function() {
return this.leftTime + " 초";
}
ExperienceAppTimer.prototype.setTimeOverListener = function(onTimeOver) {
this.onTimeOver = onTimeOver;
}
ExperienceAppTimer.prototype.setTimeLimit = function(leftTime) {
this.leftTime = leftTime;
this.timerText.text = this.getLeftTimeText();
}
ExperienceAppTimer.prototype.updateTimer = function() {
this.leftTime--;
if(this.leftTime == 5) {
this.timerText.fill = "#f42";
} else if(this.leftTime == 0) {
this.timerText.fill = "#f00";
}
if(this.leftTime > 0) {
this.timerText.text = this.getLeftTimeText();
} else {
this.timerText.text = this.getLeftTimeText();
if(this.loopTimer != null)
game.time.events.remove(this.loopTimer);
if(this.onTimeOver != null)
this.onTimeOver();
}
}
ExperienceAppTimer.DEFAULT_LEFT_TIME_SEC = 20;
ExperienceAppTimer.OFFSET_POS_X = 60;
ExperienceAppTimer.OFFSET_POS_Y = 60;