在cocos中用ts分别实现懒加载与预加载
懒加载:
懒加载是指在需要用到某个资源时再去加载它,可以有效减少初次加载的时间和资源占用。
在Cocos中,可以使用cc.loader.loadRes方法进行懒加载。示例代码如下:
// 定义一个变量存储要加载的资源路径
const resPath = "prefabs/xxx";
// 使用cc.loader.loadRes方法进行懒加载
cc.loader.loadRes(resPath, function (err, prefab) {
if (err) {
cc.error(err.message || err);
return;
}
// 成功加载后的操作,如实例化Prefab
});
预加载:
预加载是指在场景切换之前将需要用到的资源提前加载好,以便在场景切换时直接使用,避免了场景切换时因加载资源而产生的卡顿现象。
在Cocos中,可以使用cc.loader.loadResArray或cc.loader.loadResDir方法进行预加载。示例代码如下:
// 定义一个数组存储要预加载的资源路径
const resPaths = ["prefabs/xxx", "textures/yyy"];
// 使用cc.loader.loadResArray方法进行预加载
cc.loader.loadResArray(resPaths, function (err, assets) {
if (err) {
cc.error(err.message || err);
return;
}
// 成功加载后的操作,如实例化Prefab
});
// 定义一个变量存储要预加载的资源目录
const resDir = "textures";
// 使用cc.loader.loadResDir方法进行预加载
cc.loader.loadResDir(resDir, function (err, assets) {
if (err) {
cc.error(err.message || err);
return;
}
// 成功加载后的操作,如将SpriteFrame设置给Sprite组件
});
需要注意的是,预加载资源时需要保证资源的路径是正确的,并且最好只预加载当前场景需要用到的资源,避免资源浪费。
原文地址: https://www.cveoy.top/t/topic/qsO 著作权归作者所有。请勿转载和采集!