如题,本人在做微信小游戏,想在加载场景时显示进度条,看了下论坛大都是cc.loader.onProgress,但这个方法貌似已经没了啊…我用的2.0.9版本,求大佬们给个思路
/**场景加载进度 */
preloadScene(sceneName, call, onLoaded?) {
var info = cc.director._getSceneUuid(sceneName);
if (info) {
cc.director.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING, sceneName);
cc.loader.load({ uuid: info.uuid, type: ‘uuid’ },
(completedCount, totalCount, item) => {
cc.log("已完成Items:", completedCount);
cc.log("全部Items:", totalCount);
cc.log("当前Item:", item);
let _loadingNextStep = (completedCount / totalCount);
cc.log("进度:", totalCount)
call(_loadingNextStep)
}
, function (error, asset) {
if (error) {
}
onLoaded && onLoaded(error, asset);
});
} else {
// DialogManager.warn.onEvent(`${sceneName}未找到.`);
}
}
谢谢大佬,这是改写了preloadscene吗,可以发一个JS代码吗 ts不太会…
你可以用cc.director.preloadScene来显示场景加载进度条
场景的加载进度可以在第二个参数回调函数中获取,completedCount是已经完成加载资源的数量,totalCount是该场景总的所需资源的数量
cc.director.preloadScene(sceneName,(completedCount, totalCount, item) => {
}, (error, asset) => {
});
666学到了
另外问一句 刚进游戏加载的场景要在哪里写预加载的代码呢,这个是游戏自动加载的,不是手动切换的 不知道写在什么地方
通常会建议写在onload或者自己写一个Init() 当要用到的时候在call