CocosCreator -- 使用Texture动态替换SpriteFrame

时间:2025-01-24 14:53:12

版本:1.9.1

情景:从服务器下载一个Texture替换当前显示

出现的问题:如果根据SpriteFrame的结构

._texture = texture;

使用这种方式可以替换成功,但是所有使用这个SpriteFrame的Sprite都会被替换纹理,所以证明Creator中所有使用同一张图片的SpriteFrame都是引用,改变其中的_texture属性会改变所有引用

正确方式:

 = new (texture);

使用texture创建一个新的SpriteFrame替换当前的SpriteFrame