一.涉及的控件
UIDraggablePanel: Scroll面板类。必须作为UIDragPanelContents的上级对象(不一定父对象)
Scale: 对于x,y,z方向的拖动效果scale。如果不要y,z拖动,则设置该两属性为0
Drag Effect: 内容点击拖动特效。Monentum:滚动操作结束后的缓冲滑动效果 Sprint:拖动到头拉过头弹回的弹簧效果。
Horizontal Scrool Bar: 该滚动条拖动也能产生内容横向滚动的效果。可以为空
Vertical Scroll Bar: 该滚动条拖动也能产生内容纵向滚动的效果。可以为空
Show Scroll Bars: 滚动条的显示时机
UIPanel: 控件存放的面板容器
Clipping: 裁减面板界面的
None: 不裁减
SoftClip: 采用修改透明度的方式实现裁减,并且周边产生一个过度边缘
HardClip: 使用硬件的Clip()函数,在移动设备上可能产生问题
AlphaClip: 使用透明度进行显示裁减。没有过度效果
UICenterOnChild 该脚本能够使得该对象
UIGrid 使得该对象的子对象能够规则排列
Arrangement: 子对象优先什么方向排列
Max Per Line: 每一行最多多少个子对象
Cell Width: 每个子对象宽度
Cell Height: 每个子对象的高度
Reposition Now: 并非改变参数就能立刻体现效果,需要把该参数设置成true,修改的参数才能体现出效果。
Sorted:
Hide Inactive:
UIDragPanelContents:
Scroll上的单元脚本。主要通过响应OnDrag,
OnSroll等消息。OnDrag和OnScroll是UICamera处理输入回调的。OnDrag会自动调用自己的父对象中的UIDraggablePanel的Drag。从而实现相应滑动操作。
二.实现步骤
1.创建一个NGUI 2D UI
2.重命名panel为scrollpanel。添加UIDraggablePanel、SpringPanel脚本到ScrollPanel上
3.在Panel上添加子对象Enpty GameObject,重命名为Grid.添加UIGrid脚本、UICenterOnChild脚本
4.创建NGUI Slice Sprite控件作为Grid子对象GridChild
5.为GridChild添加UIDragPanelContents脚本,Box Collision组件
6.复制N个GridChild作为Grid的子对象。
7.创建一个Panel,windowPanel在原Panel的同级位置
8.创建一个ScrollBar作为windownPanel的子对象。并设置ScrollPanel的horizontal scroll bar为该组件
9.修改scrollpanel的clipping为softclipping,并修改size。修改scrollpanel的
10.至此,完成一个支持点击滑动和通过滚动条滑动的内容。
UIDraggablePanel: Scroll面板类。必须作为UIDragPanelContents的上级对象(不一定父对象)
Scale: 对于x,y,z方向的拖动效果scale。如果不要y,z拖动,则设置该两属性为0
Drag Effect: 内容点击拖动特效。Monentum:滚动操作结束后的缓冲滑动效果 Sprint:拖动到头拉过头弹回的弹簧效果。
Horizontal Scrool Bar: 该滚动条拖动也能产生内容横向滚动的效果。可以为空
Vertical Scroll Bar: 该滚动条拖动也能产生内容纵向滚动的效果。可以为空
Show Scroll Bars: 滚动条的显示时机
UIPanel: 控件存放的面板容器
Clipping: 裁减面板界面的
None: 不裁减
SoftClip: 采用修改透明度的方式实现裁减,并且周边产生一个过度边缘
HardClip: 使用硬件的Clip()函数,在移动设备上可能产生问题
AlphaClip: 使用透明度进行显示裁减。没有过度效果
UICenterOnChild 该脚本能够使得该对象
UIGrid 使得该对象的子对象能够规则排列
Arrangement: 子对象优先什么方向排列
Max Per Line: 每一行最多多少个子对象
Cell Width: 每个子对象宽度
Cell Height: 每个子对象的高度
Reposition Now: 并非改变参数就能立刻体现效果,需要把该参数设置成true,修改的参数才能体现出效果。
Sorted:
Hide Inactive:
UIDragPanelContents:
Scroll上的单元脚本。主要通过响应OnDrag,
OnSroll等消息。OnDrag和OnScroll是UICamera处理输入回调的。OnDrag会自动调用自己的父对象中的UIDraggablePanel的Drag。从而实现相应滑动操作。
二.实现步骤
1.创建一个NGUI 2D UI
2.重命名panel为scrollpanel。添加UIDraggablePanel、SpringPanel脚本到ScrollPanel上
3.在Panel上添加子对象Enpty GameObject,重命名为Grid.添加UIGrid脚本、UICenterOnChild脚本
4.创建NGUI Slice Sprite控件作为Grid子对象GridChild
5.为GridChild添加UIDragPanelContents脚本,Box Collision组件
6.复制N个GridChild作为Grid的子对象。
7.创建一个Panel,windowPanel在原Panel的同级位置
8.创建一个ScrollBar作为windownPanel的子对象。并设置ScrollPanel的horizontal scroll bar为该组件
9.修改scrollpanel的clipping为softclipping,并修改size。修改scrollpanel的
10.至此,完成一个支持点击滑动和通过滚动条滑动的内容。