creator 3.7.2,切换场景之后出现
几乎必现,请问这个有排查的思路吗?看到论坛里面说材质可能丢了,但是3.7.2 的2D组件都是有默认材质,不用自己设置
很可能某个绑定出问题了。界面一个个找一下
能具体一些么,什么绑定出问题了
我主要排查那一块
这个问题我解决了
同样报错:Uncaught TypeError: this._texture.getHash is not a function
是因为Bundle加载图片,它函数没有指定类型,cocos加载成ImageAsset,我习惯于加载成Texture2D,
我是这样写的:GlobalData.getInstance().huaerBundle.load(url, (error: Error, tex: Texture2D) => {
if (error) {
console.error(error);
return;
}
let sp = new SpriteFrame()
sp.texture = tex;
sprite.spriteFrame = sp;
},把tex声明成Texture2D,但是tex不是Texture2D,它是ImageAsset,所以报错了。解决:把ImageAsset处理成SpriteFrame这个问题就可以解决。
下面是代码:
GlobalData.getInstance().huaerBundle.load(url, (error: Error, img: ImageAsset) => {
if (error) {
console.error(error);
return;
}
//方法1:
let tex = new Texture2D()
tex.image = img
let sp = new SpriteFrame()
sp.texture = tex
sprite.spriteFrame = sp;
//方法2:
sprite.spriteFrame = SpriteFrame.createWithImage(tex);
});
打错了,方法2应该是:
sprite.spriteFrame = SpriteFrame.createWithImage(img);
感谢分享