creator TS倒计时

let EnergyManager = {

hideTime: 0,

baseCycle: 1,

manyTims: 50, 

reduiseTime: 0, 

}

const { ccclass, property } = cc._decorator;

@ccclass
export default class NewClass extends cc.Component {

@property(cc.Label)
label: cc.Label = null;

//间隔时间
intervalTime:1;
onLoad() {
cc.log(“关闭时时间戳”, EnergyManager.reduiseTime);//energyManager.hideTime
this.inintCountDownShow();

}
public inintCountDownShow(): void {
    let backTime = EnergyManager.hideTime;
    if (backTime != 0) {
        let data = new Date();
        let currentTime = data.getTime();
        let intervalSecond = Math.floor((currentTime - backTime) / 1000);
        EnergyManager.reduiseTime = EnergyManager.reduiseTime - intervalSecond;

    } else {
        let cycleTime = EnergyManager.manyTims;
        EnergyManager.reduiseTime = EnergyManager.baseCycle * cycleTime * 150;
    }
}

public countDownShow(): void {
    let baseSecond = EnergyManager.reduiseTime;
    baseSecond = baseSecond - 1;
    EnergyManager.reduiseTime = baseSecond;
    let hour = Math.floor(baseSecond / 3600);
    let residue = baseSecond - hour * 3600;
    let minute = Math.floor(residue / 60);
    residue = residue - minute * 60;

    if (residue < 10) {
    
   this.label.getComponent(cc.Label).string = '0'+ minute +":" +"0"+residue;
    }else{
        this.label.getComponent(cc.Label).string = '0'+ minute + ":" + residue;
    }
  
}

** update(dt) {**
** //每秒更新显示信息**
** if (this.intervalTime >= 0) {**
** this.intervalTime -= dt;**
** } else {**
** this.intervalTime =1;**
** this.countDownShow();**
** }**
** }**
这是一个倒计时五分钟,但是如果我不想要每一帧都去更新显示,应该如何实现呢?

https://github.com/caochao/cocos_creator_proj_base/blob/master/timer/timer_mgr.ts
你需要这个

使用调度器即可