Files

65 lines
1.9 KiB
TypeScript
Raw Permalink Normal View History

1970-01-01 08:27:52 +08:00
import { _decorator, Component, ProgressBar, Label, assetManager, director, SpriteFrame, Prefab } from 'cc';
import { ResourceManager } from './ResourceManager';
const { ccclass, property } = _decorator;
@ccclass('Loading')
export class Loading extends Component {
@property(ProgressBar)
progressBar: ProgressBar | null = null;
@property(Label)
progressLabel: Label | null = null;
@property
nextScene: string = "StartScene";
onLoad() {
// if (typeof wx !== 'undefined' && wx.hideLoading) {
// wx.hideLoading();
// }
this.startLoading();
}
startLoading() {
assetManager.loadBundle("resources", (err, bundle) => {
if (err) {
console.error("加载 resources 失败:", err);
return;
}
console.log(11111111111,2222)
// 加载整个 resources 下的内容
bundle.loadDir(".", (finished, total, item) => {
let ratio = finished / total;
console.log(11111111111,ratio)
this.updateProgress(ratio);
}, (err, assets) => {
if (err) {
console.error("资源加载失败:", err);
return;
}
// 缓存资源
assets.forEach(asset => {
ResourceManager.instance.set(asset.name, asset);
asset.addRef(); // 增加引用计数,避免被自动释放
});
// 进入主场景
director.loadScene(this.nextScene);
});
});
}
updateProgress(ratio: number) {
console.log(111111, ratio)
if (this.progressBar) {
this.progressBar.progress = ratio;
}
if (this.progressLabel) {
this.progressLabel.string = `${Math.floor(ratio * 100)}%`;
}
}
}