动态加载资源时报错spriteFrame.textureLoaded is not a function

  • Creator 版本:1.9.0

  • 目标平台: web

  • 详细报错信息,包含调用堆栈:CCSprite.js:558 Uncaught TypeError: spriteFrame.textureLoaded is not a function
    at cc_Sprite._applySpriteFrame (CCSprite.js:558)
    at cc_Sprite.set [as spriteFrame] (CCSprite.js:178)
    at Animal.ts:47
    at CCLoader.js:359
    at utils.js:87

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :windows10

  • 编辑器之前是否有其它报错 :

  • 出现概率:100%

  • 额外线索:

您好 请问问题解决了吗 我遇到同样的问题

我也遇到了,请问怎么解决的啊?

是由于资源放在Resource这个文件夹下面了,没有放在resources这个文件夹下面。

1赞

大小写??

首先你的资源文件夹必须是小写的resourses,默认加载路径是它的子目录
this.person.addComponent(cc.Sprite);
var self = this;
cc.loader.loadRes(“Texture/person/kneeling”, cc.SpriteFrame, function(err, spriteFrame){
self.person.getComponent(cc.Sprite).spriteFrame = spriteFrame;
})

1赞

在浏览器中使用没有问题,转为微信小游戏就出现这个问题了,资源确定是放在resources文件夹下,路径也没错。。。无解。。。
gameThirdScriptError
e.textureLoaded is not a function;at setTimeout callback function
TypeError: e.textureLoaded is not a function

cc.loader.loadRes('img/bg2', cc.SpriteFrame, (err, res) => { cc.find('Canvas/Background').getComponent(cc.Sprite).spriteFrame = res })
使用 loadRes 方法的时候传入第二个参数为 cc.SpriteFrame 试一下

1赞

我的运行环境一样 但是出现概率不是100%

我也出现了这个问题,经过尝试,@cadenho 的答案可行!

在我的环境里问题解决了,感谢