super-hero/assets/cc-game/scripts/loading/LoadingScene.ts

47 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-05-12 20:54:17 -07:00
import { Label } from 'cc';
import { Sprite } from 'cc';
import { CCString } from 'cc';
import { director } from 'cc';
import { _decorator, Component, Node } from 'cc';
import { UmLog } from '../../../cc-common/cc-util/UmLog';
const { ccclass, property } = _decorator;
@ccclass('LoadingScene')
export class LoadingScene extends Component {
@property(CCString) sceneName = "mainscene";
@property(Sprite) progress: Sprite = null!;
totalPercent: number = 0;
protected onLoad(): void {
this.progress.fillRange = 0;
director.preloadScene(this.sceneName, (completedCount, totalCount) => {
let percent = 0;
if (totalCount > 0) {
percent = 100 * completedCount / totalCount;
this.totalPercent = 100 * completedCount / totalCount;
}
if (percent < 100) {
// const progressBar = this.processBar.getComponent(cc.ProgressBar);
// progressBar.progress = percent/100;
}
}, (error) => {
if (error) {
UmLog.error("preloadScene Error: ", error);
} else {
// cc.director.loadScene(sceneName);
}
});
}
protected update(dt: number): void {
this.progress.fillRange += ((this.totalPercent / 100) - this.progress.fillRange) / 20;
if (this.progress.fillRange >= .999) {
director.loadScene(this.sceneName);
}
}
}