uigrid是NGUI的一个组件,大概能实现的功能就是能自动排列每一个cell,而不需要我们手动去设置它们的位置。比如一个背包,有好多格子,我们也可以自己手动去安放每一个
cell的位置,但是这样的工作量是比较大的,我们就要用到uigrid。它就会自动帮我们排好序。那么问题来了:
uigrid的排序方式是比较坑的,有时你会发现你在界面上设置的位置跟运行时game显示出来的效果是不一样的.
先说说uigrid的排序是什么实现的:上一段代码吧
从中我们可以看出它是通过新建一个BetterList<Transfrom>对象来保存从Transfrom对象中获取的子对象.顺序也跟myTrans对象一样的,myTrans对象里边子对象的添加顺序是按什么顺序来添加的,不得而知,我也尝试去看它添加子对象的源码,但是并不能看到.暂且不管.但是在查看里边的变量的情况来看是按照字母的头一个值的大小来排序的。这就给我们造成了困扰,因为uigrid脚本里边会对所有的cell的位置进行重置,这样才会减少我们的工作量,达到它的目的。
先给一段重置ce