最近在研究扩展。根据官方的教程。(scene-script 字段用于声明一个扩展包内的脚本,在该脚本中可以使用引擎 API,并访问当前场景中的节点和组件)。然后在脚本里面用:cc.assetManager.loadAny([{uuid:‘85oA7pja5MbZuGAPwnXmUo’}], (errorMessage, loadedResource) => {
//这样可以成功加载到资源(prefab)。并实例化,添加到节点
var TipBoxPrefab = cc.instantiate(loadedResource);
TipBoxPrefab.setPosition(cc.v2(100, 0));
//将预制资源添加到父节点
itemnode.addChild(TipBoxPrefab);
}
然后我想实现批量的资源操作。于是用了:
cc.assetManager.loadBundle(‘physics’, (err, bundle) => {
bundle.load(‘physics’);
let bundle1 = cc.assetManager.getBundle(“physics”);
bundle1.loadDir(’/’, function (err, assets) {
let items = assets;
let pres = bundle1.get(‘baffle/baffle_green3’);
cc.log(pres)
})
});
这个代码在非扩展脚本下运行正常。但在scene-script下却报错了:
TypeError: Cannot read property ‘base’ of null at createBundle
cocos刚用个把月。忘老司机指导一二
