import { _decorator, Component, Node, Sprite } from 'cc'; const { ccclass, property } = _decorator; @ccclass('buff_time_count') export class buff_time_count extends Component { @property(Node) buff_time_bar:Node =null private mCallBack = null private time_count:number = 0 private total:number = 0 public startBuffTimeCount(call_back,time:number){ this.total = time this.time_count = 0 this.mCallBack = call_back this.buff_time_bar.getComponent(Sprite).fillRange = 1 } protected update(dt: number): void { if(this.mCallBack!=null){ this.time_count+=dt this.buff_time_bar.getComponent(Sprite).fillRange = 1-this.time_count/this.total if(this.time_count>=this.total){ this.mCallBack() this.mCallBack = null } } } public cancelTimeCount(){ this.mCallBack = 0 this.time_count = 0 this.buff_time_bar.getComponent(Sprite).fillRange = 1 } }