skyangel 发表于 2012-12-1 09:19

unity3D插件NGUI之Scorll View(滑动图标)的制作(简洁版 )

用Unity3D开发的人员都知道NGUI在UI制作方面是一个强大的的插件,当然里面也有Scorll View的制作例子。在这里我来和大家交流交流我在开发中运用NGUI的一些心得!首先,我们知道NGUI自己有一套树形的层级关系图,很多时候我们只能在这些树形的层级结构下创建一些NGUI实例。其实在这个层级关系图中最重要的就是NGUI给我们提供的那些脚本和方法,只要了解了这些脚本和方法,你可以任意的改变这些层级结构。今天我在这儿来改变NGUI的树形结构来对NGUI中Scorll View的实现来讲一个简洁版的。在改变层级结构之前,我们要清楚的知道,那些组件和方法是制作Scorll View过程中必须的。当然UIDraggablePanel,UIPanel,UIGrid,UIDragPanelContents这四个组件是制作Scorll View的关键组件。首先我们新建一个场景,里面包含了我们的一个主摄像机,当然这个摄像机我们不删除,所以就不再新建一个NGUI的树形层级结构了,我们把场景中的摄像机的投射方式改为orthographic(摄像机以90度直直的投射到屏幕,其实这就是一个2D摄像机),然后我们为这个摄像机加上一个NGUI中核心组件UICamera(必须加上)



然后我们新建一个空对象,放在摄像机下面把他作为摄像机的子物体



然后我们通过NGUI的create a widget在这个空对象下面创建一个sliced sprite类型的图标(其他类型图标也行),然后多复制几个。



下面我们最重要的事就是加组件,我们把这个3个UIDraggablePanel,UIPanel,UIGrid组件加到GameObject上,当然在我们创建sliced sprite的时候,自动的为我们加上了UIPanel这个组件

然后我们再为每个sliced sprite都加上组件UIDragPanelContents和Box Collider。



到这儿的时候我们整个步骤就完成了一大半了,然后我们对一些组件的参数进行调整。首先我们对UIGrid组件的cell width参数进行调整,这个组件主要是对我们的sliced sprite进行排列。

接下来我们对UIPanel组件中的Clipping属性选择到Soft Clip ,然后调整下面的几个参数,这个主要是决定了,你的sliced sprite出现的范围。



然后我们对UIDraggable Panel组件中的Scale中的参数进行调整,这个决定了sliced sprite向哪个方向滑动。


然后把每一个sliced sprite中的Box Collider组件中的参数Is Trigger打上勾勾。这个Collider主要是用来对滑动响应的区域。在加上组件UIDrag Panel Contents后,整个响应滑动的区域就是在每一sliced sprite上面,当然你自己也可以做一个更大的响应区域。其他的参数自己可试试。


整个制作过程就完成了,现在的层级十分的简单明了。运行效果图如下。






希望大家一起留言讨论,共同学习交流,谢谢大家!



                                                                                 —— 麦兜         

wing_0706 发表于 2012-12-6 13:03

谢谢分享!

小火柴 发表于 2012-12-7 12:19

学习,学习

Joy 发表于 2012-12-8 16:56

多谢分享,值得学习

介子_迷了眼 发表于 2013-1-30 14:04

想问下,摄像机的视角怎么调?

happycity 发表于 2013-8-22 19:18

有空试一下

a138024 发表于 2016-10-11 16:27


不错 不错 不错

cuckoo307 发表于 2017-4-2 19:26

楼主是超人

树荫照水爱晴柔 发表于 2017-4-2 19:46

好帖就是要顶

liu89477929 发表于 2017-4-2 19:24

顶顶多好
页: [1]
查看完整版本: unity3D插件NGUI之Scorll View(滑动图标)的制作(简洁版 )