cocos creator基于typeScript的倒计时
时间: 2023-09-03 09:12:07 浏览: 108
以下是基于 TypeScript 的倒计时示例代码:
```typescript
const {ccclass, property} = cc._decorator;
@ccclass
export default class Countdown extends cc.Component {
@property(cc.Label)
label: cc.Label = null;
private totalTime: number = 60;
private remainingTime: number = 60;
private timerId: number = -1;
start() {
this.startCountdown();
}
private startCountdown() {
this.remainingTime = this.totalTime;
this.updateLabel();
this.timerId = setInterval(() => {
this.remainingTime--;
if (this.remainingTime < 0) {
clearInterval(this.timerId);
this.timerId = -1;
console.log("倒计时结束");
} else {
this.updateLabel();
}
}, 1000);
}
private updateLabel() {
this.label.string = `倒计时:${this.remainingTime}s`;
}
onDestroy() {
if (this.timerId !== -1) {
clearInterval(this.timerId);
}
}
}
```
使用时,将此组件挂载到场景中的一个节点上,并将需要显示倒计时的 Label 组件拖拽到 `label` 属性上即可。
此代码中,`totalTime` 变量表示总的倒计时时间,`remainingTime` 变量表示剩余时间,`timerId` 变量表示计时器的 ID,`startCountdown()` 方法开始倒计时,`updateLabel()` 方法更新 Label 显示文本,`onDestroy()` 方法在组件销毁时清除计时器。
阅读全文