this._texture.getHash is not a function

creator 3.7.2,切换场景之后出现

几乎必现,请问这个有排查的思路吗?
看到论坛里面说材质可能丢了,但是3.7.2 的2D组件都是有默认材质,不用自己设置

@jare

很可能某个绑定出问题了。界面一个个找一下

能具体一些么,什么绑定出问题了

我主要排查那一块

官网给的这个邮件地址也是错的,发送不过去

这个问题我解决了
同样报错: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);

    });
1赞

打错了,方法2应该是:
sprite.spriteFrame = SpriteFrame.createWithImage(img);

感谢分享 :heart: