NGUI能够带来非常高的效率,其中的组件功能也是很完善,但是其中的Grid脚本有一个罕见的报错,
如果在Grid脚本挂载上gameObject之前,就设置好里边Panel的位置,主要是在要滑动的方向上设置了位置,会导致Grid计算错误的偏移量,导致移动一次之后,便不会继续移动。
如,Grid组件下的Panel,希望Panel能够在Y方向上移动(也就是Vertical),然后Panel的初始位置是Vecotr3.zero。
但是因为Panel在Vector3.zero的位置不是预期的位置,将Panel移动到了Grid的顶端对齐位置。此时再设置好Grid脚本的信息。此后运行Unity,则可能会出现只能滑动一次Panel的情况。因为偏移量计算出错,导致Grid组件下的Panel无法再次被滑动。
解决这个问题的方法也比较神奇,将Panel在滑动方向的赋值设置到0。运行一次Unity,此后再将Panel的位置拖动到预期的位置即可。
然后正确的步骤:
1.在需要挂载Grid脚本的物体上挂载Grid脚本,设置好所需信息。
2.Create其下的Panel物体并挂载脚本,设置相关信息
3.在Panel下Create ItemTemplate,并在ItemTemplate组件上添加BoxCollider脚本,使其可以点击
在这样的情况下,Grid就不会出现只能滑动一次Panel的情况了
目前就是遇到了这样的情况,并自己摸索解决了。分享一下被Grid脚本坑后的心路历程,有帮助就好,有错误的话就请指出来,轻喷啊。