ADL_Cocos_ChickenGame/assets/script/CircularProgressBar.ts
2024-10-12 18:51:50 +08:00

41 lines
1.3 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { _decorator, Component, Sprite, tween } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('CircularProgressBar')
export class CircularProgressBar extends Component {
@property({ type: Sprite })
public progressBar: Sprite | null = null; // 关联的圆形Sprite组件
@property
public progressDuration: number = 2.0; // 进度条完成的时间
@property
public startProgress: number = 0; // 起始进度(0.0 - 1.0)
@property
public endProgress: number = 1; // 最终进度(0.0 - 1.0)
start() {
// 初始化进度条的填充类型为圆形
if (this.progressBar) {
this.progressBar.type = Sprite.Type.FILLED;
this.progressBar.fillType = Sprite.FillType.RADIAL;
this.progressBar.fillStart = 0; // 从顶部开始
this.progressBar.fillRange = this.startProgress; // 初始进度
}
// 开始动画来更新进度
//this.updateProgressBar();
}
public updateProgressBar() {
if (this.progressBar) {
// 使用 tween 从 startProgress 到 endProgress 来控制进度条
tween(this.progressBar)
.to(this.progressDuration, { fillRange: this.endProgress }) // 填充范围从 0 到 1
.start();
}
}
}