由于项目需要,需要用NGUi实现一个图片浏览切换的功能,于是参考官方NGUI例子的ScrollView做了一个例子,初始看上去基本实现了自己想要的功能。
但是测试后发现当隐藏其中一张图片后,后面图片不能自动跟上排列,于是折腾半天终于发现可以通过设置脚本的一个方法重置位置。
解决:UIGrid grid = (UIGrid)transform.GetComponent(“UIGrid”);
grid.Reposition();
此时可以让位置重新排列,隐藏其中一张都没问题了。
但是,接着测试又发现当第一张图片和最后一张图片隐藏时,图片到最前最后一张拖动时,都会直接没了,不会碰到边界弹回来。这个问题折腾了一天,各种晕!
今天耐心把脚本的一个个参数设置过去,终于搞定了!
解决:在UIPanel脚本里面Clipping这项设置成softClip,并把size设置你图片的大小,后面softness设置成图片的一半(这个参数大家可以随意调下,有不同效果)
还有在UIDraggablePanel脚本里面把Drag Effect 设置成None。
实现步骤:
1.创建一个NGUI 2D UI 2.重命名Anchor为Anchor-Center。添加UIDraggablePanel、SpringPanel脚本到ScrollPanel上 3.创建一个游戏空对象,重名名WindowRoot,移动到Anchor-Center下 ,并记得reset下
4.在WindowRoot下创建一个NGUI的panel,重名名为Panel-Clip
5.再创建一个游戏空对象ÿ