unity3d 在UGUI中制作自适应调整大小的滚动布局控件
2015-09-21 20:30
573 查看
在游戏中,我们很多地方需要用到scroll content的概念:我们需要一个容器,能够指定布局方式(比如横排排列、竖排排列、网格排列)等。然后我们向其中填充内容,这个容器应该自己能够处理所有的元素布局,包括相关的滚动条等等概念。
一个经典的例子就是制作一个物品栏:
![](http://img.blog.csdn.net/20150203222939335?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在UGUI中,我们要如何来制作呢?
UGUI原生态提供Scroll Rect Component、Mask、Content Size Filter、ScrollBar控件,我们需要将他们组合使用:
![](http://img.blog.csdn.net/20150203223204150?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如上图,我们先制作一个能够自动适应大小的文本滚动框。
设置Panel的属性如下,加上ScrollRect、Mask组件,将content设置为我们的文本框
![](http://img.blog.csdn.net/20150203223332914?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
给文本框设置组件如下:(添加Content Size Filter组件)
![](http://img.blog.csdn.net/20150203223450119?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意,这样设置后文本多的情况下滚动条会直接初始在中间,我们需要顶部对齐,设置Text的RectTransform属性如下:
![](http://img.blog.csdn.net/20150203223644591?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
调整对齐和Anchors Pivot(X=0,Y=1)
同理,我们需要做Grid的话,只需要将scroll rect的content指向一个带GridLayout的GameObject,并且将这个GameObject设置Content Size Filter和锚点即可。
![](http://img.blog.csdn.net/20150203223845195?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150203223917939?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmNmYWxjb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
本文章转自 :http://blog.csdn.net/rcfalcon/article/details/43459387
一个经典的例子就是制作一个物品栏:
在UGUI中,我们要如何来制作呢?
UGUI原生态提供Scroll Rect Component、Mask、Content Size Filter、ScrollBar控件,我们需要将他们组合使用:
如上图,我们先制作一个能够自动适应大小的文本滚动框。
设置Panel的属性如下,加上ScrollRect、Mask组件,将content设置为我们的文本框
给文本框设置组件如下:(添加Content Size Filter组件)
注意,这样设置后文本多的情况下滚动条会直接初始在中间,我们需要顶部对齐,设置Text的RectTransform属性如下:
调整对齐和Anchors Pivot(X=0,Y=1)
同理,我们需要做Grid的话,只需要将scroll rect的content指向一个带GridLayout的GameObject,并且将这个GameObject设置Content Size Filter和锚点即可。
本文章转自 :http://blog.csdn.net/rcfalcon/article/details/43459387
相关文章推荐
- Unity 中 Update中使用 Time.deltaTime 和 FixedUpdate中使用Time.fixedDeltaTime
- Unity3D之Mecanim动画系统学习笔记(三):Animation View
- 【Unity3D游戏开发学习笔记】(一)Unity3D初认识
- Unity3D之Lightmap详解
- Unity3D之Mecanim动画系统学习笔记(二):模型导入
- 【Unity3D】利用Shader以及更改Mesh实现2D游戏的动态阴影效果
- Unity3D之Mecanim动画系统学习笔记(一):认识Mecanim动画系统
- Unity3D实现动态加载游戏资源
- Unity里的Mesh属性
- UnityShader实例15:屏幕特效之Bloom
- untiy3d实现简单转盘抽奖
- 通过脚本添加组件 NavMeshAgent寻路动画设置,动画speed设置,随机奔跑寻路,间隔实例化InvokeRepeating ("Run", 0, i)
- Unity3D特效-场景淡入淡出
- unity中的Light
- Unity中的Camera
- unity3d手游《熊出没森林保卫战》手游源码
- Unity3D光照贴图烘焙知识详解
- Git Community Book 中文版
- unity3d实现场景截图
- Unity热更新专题(九)Unity热更新实例