请问21点示例中RankItem脚本中的这句话是怎么理解的?

我正在研究Creator里的21点程序,在看rankItem预制节点绑定的RankItem脚本时有一些疑问,哪位大神能帮助解答一下?
就是init方法:

其中的this.spRankBG.spriteFrame = this.texRankBG[rank]; 这句我目前无法理解,从上面代码看出texRankBG是一个properties(texRankBG: cc.SpriteFrame,),对应的预制节点rankItem在编辑器显示为

使我困惑的时候是:
texRankBG这个sprite-frame是在编辑器里没有初始化,那么this.texRankBG[rank]带来的正确结果是哪里来的?
texRankBG怎么对应上atlas图集的?以及怎么知道在rank为0,1,2时对应上图片资源rankinglist_1,rankinglist_2,rankinglist_3这三张图的?

我并没有发现有地方初始化赋值给texRankBG?也没有格式化字符串指定(如rankinglist_%d)
所以对这里this.spRankBG.spriteFrame = this.texRankBG[rank]; 这句感到无法理解,希望大神帮忙解释下,谢谢!

可能是 bug

抱歉不太明白你的问题,为什么要对应图集?

这个项目我没有怎么讲究过,抱歉!

应该不是bug吧,结果是正确的,显示了

前面1,2,3名分别拿到了图集里的ranklinglist_1.png,ranklinglist_2.png,ranklinglist_3.png

我的疑问就是这句话this.spRankBG.spriteFrame = this.texRankBG[rank]; 是怎么产生正确结果的?
因为this.texRankBG[rank];指定了在rank为0,1,2时,获得了三张正确的图集,texRankBG是在哪里被赋值(初始化)的呢?我并没有在这个工程里找到有对它赋值操作的地方(比如rankItem这个prehab里的对应编辑框,或者其他js脚本)

恩这个是你们官网的一个21点的示例,我被卡在这里了,十分想知道原因

我也遇到这个问题 自己这样写会报错 纳闷 楼主发现问题所在了没

texRankBG: cc.SpriteFrame改为texRankBG: [cc.SpriteFrame], 代码改成数组,重启编辑器

1赞

texRankBG: cc.SpriteFrame改为texRankBG: [cc.SpriteFrame], 代码里面改成数组,重启编辑器

1赞

没人回复?