目录
3.在b.js中使用a.js中定义的静态方法获取图集,并使用它
假设a文件中用CC.resource.load
动态加载了一张图集,b
文件需要使用这张图集,可以按照以下步骤:
1.在a文件中定义一个公共的变量存储动态加载的图集
// a.js
let atlas = null;
export default class A extends cc.Component {
onLoad() {
cc.resources.load("atlas/imgs", cc.SpriteAtlas, (err, res) => {
if (err) {
cc.error(err.message || err);
return;
}
atlas = res;
});
}
}
2.在a.js
中添加一个静态方法,返回动态加载的图集
// a.js
let atlas = null;
export default class A extends cc.Component {
// ...
static getAtlas() {
return atlas;
}
}
3.在b.js
中使用a.js
中定义的静态方法获取图集,并使用它
// b.js
import A from './a';
export default class B extends cc.Component {
onLoad() {
let atlas = A.getAtlas();
let spriteFrame = atlas.getSpriteFrame("img_1");
// 使用 spriteFrame
}
}
这样,就可以从b.js
中成功调用a.js
中用CC.resource.load
动态加载的图集了。