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); } } }