求助:prefab在不同阶段加载不同的spriteframe

想让prefab在不同阶段显示的是不同的图片,之前觉得这个东西逻辑上很简单吗,创建一个prefab,有个default spriteframe,建个对象池pool,通过cc.instantiate克隆实例,然后在不同的情况下,用不同的sriteframe就行啦。自己试着写了写都报错,有点蒙b了。请论坛的大神给帮忙看看。

第一种写法:
先properties(图1),然后onload里初始pool(图2),

再继续,pointcount<=10的时候,newpoint用food_star.png, 10到20,newpoint用jar-twist.png

运行结果,说_refreshTexture是undefined。搜索下看有用setTexture的,把_refreshTexture换成setTexture,说setTexture是undefined。后来寻思是不是图片没有挂到resources根目录下, 于是又把两张图都直接挂到了resources下,还是报同样的错,说setTexture 是undefined。

于是换第二种写法:
先声明个数组,然后直接往属性检查器里挂图片,但是运行结果里还是prefab预制时候用的default的图片,没换成新数组里的图片。。。还是不行

于是再换种写法:
两张图还是直接挂在resources文件夹下,前面的对象池之类的都一样,把读图的代码发一下,结果跟第二种写法一样,prefab还是一直都是default的图片,没有换成food_star。

诚心请各位帮忙看下哪里写出问题了。刚接触cocos creator不长时间,用的不熟练啊。万分感谢!!!!!!

别沉了,顶一下,在线等

你给prefab挂个脚本,在脚本里用spriteframe =xxx
然后在外面调用这个接口试试

谢谢,解决了。后来看看console里面打印出来的属性,发现是 应写为.spriteFrame就好了,之前写的都是SpriteFrame。。。。另外用数组的时候,已经用的spriteFrame里,后面不用再写了。昨天下午编程编蒙了,用数组的时候总是印象里是sprite。后面又狗尾续貂了一下.spriteFrame。