LoadScence()和loadSS()可以加载,但是进度值赋值给进度条不行,提示类型错误,但是从官方示例看好像是可以这么赋值的:this.barProgress.progress = val ;
代码如下:
import { _decorator, Component, Node, ProgressBarComponent, loader, director } from “cc”;
import { UIMgr } from “…/…/UIMgr”;
const { ccclass, property } = _decorator;
@ccclass(“LoadPanel”)
export class LoadPanel extends UIMgr {
//这个脚本负责加载场景
//loading界面
@property({ type: ProgressBarComponent })
public barProgress: ProgressBarComponent = null;
start() {
//this.LoadScence();
this.loadSS();
}
//初始化
Init() {
this.LoadScence();
}
/**
* 加载场景
*/
public LoadScence() { //这个也赋值不了this.barProgress.progress = val;
//获取Game场景的UUID
let target = director._getSceneUuid("Game");
loader.load({ uuid: target.uuid, type: 'uuid' }, (completedCount, totalCount, item) => {
cc.log("已完成Items:" + completedCount);
cc.log("全部Items:" + totalCount);
cc.log("当前Item:" + item.url);
let val = completedCount / totalCount;
cc.log("加载进度:" + val);//能打印出来加载的进度变化
// this.barProgress.progress = val;//会报错
}, (error) => {
if (error) {
cc.errorID(1210, "Game", error.message);
}
else {
cc.log("加载完成");
}
})
}
public loadSS() {
let bar= this.barProgress;
loader.onProgress = function (cp, tt) {
console.log("cp/tt:" + cp / tt);//能打印出来加载的进度变化
bar.progress=cp/tt;//会报错
}.bind(this);
director.loadScene("Game", null, null);
cc.log("加载进度为:" + loader.onProgress);
cc.log("加载中...");
}
}
错误截图:
官方示例:

