直接使用官方的示例代码都报错,2.4.2和2.4.3,
示例代码地址:https://docs.cocos.com/creator/api/zh/classes/SpriteFrame.html
代码如下:
var self = this;
var url = “test assets/PurpleMonster”;
cc.resources.load(url, cc.SpriteFrame, null, function (err, spriteFrame) {
var node = new cc.Node(“New Sprite”);
var sprite = node.addComponent(cc.Sprite);
sprite.spriteFrame = spriteFrame;
node.parent = self.node
});
报错:ERROR: Uncaught TypeError: Cannot read property ‘load’ of undefined, location: src/cocos2d-jsb.js:0:0
这个错误很明显,就是该对象没有load方法或者属性
1赞
看错误看清楚点。这个报错是说cc.resources 未定义 ,但是调用了 未定义.load
cc.resources.load 调早了。
至少得放到onLoad里面调用
1赞
就是放再onload里调用的
有没有创建resources文件夹?或者名字对不对?之前我有遇到过没创建文件夹导致cc.resources未定义的
2赞
正解了。确实是这样的。这个官方文档有点蛋疼啊
顶 同样遇到了,文档没有说明,确实asset建一个resources文件夹就好了
这明显不合理。。。
不知道哪个鬼才想的,必须建了文件夹才cc.resources.load才生效
???没有resources文件夹的话?这个接口加载什么地方的资源呢?
会直接报错,load函数找不到
可能引擎组以为大家创建项目后的第一步就是新建resource文件夹吧。不过说回来cc.resource其实就是cc.assetManager加载了resource分包啊,你没有创建文件夹没这个分包当然是没东西的