Давайте создадим его с нуля, прежде всего в вашей create()
функции, добавим текст для отображения таймера на экране:
// CREATE()
this.timerText = this.add.text(x, y, "").setColor("#000000");
Во-вторых, давайте создадим функцию, ниже update()
, для обратного отсчета:
showTimer(){
// Assuming you want 60 seconds, if not just chenge the 60's for whatever time you want
let maxTime = 60;
let time = Math.floor(this.time.totalElapsedSeconds() );
let sec = time % 60;
timeText.setText(sec); // Adding the timer to our text
}
В-третьих, создайте переменную в create()
для отслеживания, когда таймер закончится:
// CREATE()
this.timerOver = false;
// And lets start the timer
this.timer = this.time.delayedCall(60000);
Теперь давайте изменим нашу showTimer()
функцию:
showTimer(){
let maxTime = 60;
let time = Math.floor(this.time.totalElapsedSeconds() );
let timeLeft = maxTime - time; // Check how much time is left
// When the countdown is over
if(timeLeft <= 0){
timeLeft = 0;
this.timerOver = true; // Setting our variable to true
}
let sec = time % 60;
timeText.setText(sec);
}
и, наконец, в нашей функции update()
позволяет проверить, истинна ли наша переменная this.timerOver
if (this.timerOver === false){
this.showTimer(); // Calling our function every frame
}
else {
// Whatever you want it to do when timer comes to 0
}