prefab 更换图片 更换其中一个prefab的图片 发现所有的prefab的图片 都被更换了
那你应该更换实例化后的 prefab 的图片
是实例化后的图片 在代码里面修改的
但是每次修改后都变成了 最后一个prefab的图片
你的四个prefab其实是是使用同一个spriteFrame的,你对任何一个节点spriteFrame进行setTexture都会对其它节点生效。正确的做法是新建spriteFrame
var spriteFrame = new cc.SpriteFrame(obj);
prefab.get.......getComponent(cc.Sprite).spriteFrame = spriteFrame;
1赞
谢了 好像是这个问题 但是没相同怎么就是同一个spriteFrame了
因为你用的是同一个prefab,修改spriteFrame的时候,是改的是你这个prefab实例的spriteFrame,当你setTexture的时候,就会改动所有的,以为每个实例复制了这么多分spriteFrame,但是这个spriteFrame引用的是同一份texture!可以这么理解!就和C++都得到了这个指针的地址,但是你却要改这个指针的内容!!
谢谢
懂了

