Unity实现滑动列表(ScrollView)-UGUI

步骤:

第一步

创建一个Image,改名为“ScrollView”。

添加ScrollRect组件,设置组件:把horziontal(水平方向移动)关闭。

添加Mask组件。

第二步

在ScrollView下添加Image,改名为”Viewport“

第三步

在Viewport下添加Image,改名为“Content”,content的大小最好和viewport一样。

设置锚点为与Pivot如下图:

设置这两个的作用是为了让每次添加子元素可以显示在Content的最上方,而不会出现在中间产生的情况

添加VerticalLayoutGroup组件,设置如下图:

ContorlChildSize作用:这个用来决定是子物体的高和宽时候可以控制,要使用这个属性,需要子元素身上要有LayoutElement组件,否则会有错误的效果。

UseChildScal:子物体缩放是否会影响到父物体

ChildForceExpand:这个也要配合ContorlChildSize来使用,如果勾选ControlChildSize,可以通过这个属性来决定是否要把子物体的大小按照服务体的宽高来填充。

添加ContentSizeFitter组件,设置如下图:

VerticalFit设置为PreferredSize是为了让该UI的大小可以根据该UI下子UI的排列尺寸进行自适应高度调整。

第四步

在ScrollView下添加ScollBar,并放到合适的位置,把Dircetion属性改为TopToButtom。

第五步

回到ScrollView的ScrollRect组件。进行如下设置

最终我们就制作完成了。

原文地址:https://www.cnblogs.com/w199753/p/12565526.html

时间: 2024-11-14 23:48:43

Unity实现滑动列表(ScrollView)-UGUI的相关文章

视频在滑动列表中的异步缓存和播放

视频在滑动列表中的异步缓存和播放,转自大量高质量游戏应用源码的众筹论坛 http://www.zccode.com/forum.php?mod=viewthread&tid=679&extra= 最近在Github上看到VideoPlayerManager这么一个项目,目的在是ListView和RecyclerView中播放小视频,模仿了Instagram中滑动到可见视频项时开始播放该视频,滑动至不可见时停止视频播放的功能 但是该项目存在几个问题: 快速上下滑动列表后,无法再播放视频,有时

实现移动端touch事件的横向滑动列表效果

要实现手机端横向滑动效果并不难,了解实现的原理及业务逻辑就很容易实现.原理:touchstart(手指按下瞬间获取相对于页面的位置)-->touchmove(手指移动多少,元素相应移动多少). 接下来讲讲实现逻辑: 其实就是手指拖动列表向哪个方向移动多少像素,并设置左右拖动的边界值. 附上代码及注释: <div id="common_wrap" class="common-wrap"> <h4 class="common-kit__

[UnityUI]动态滑动列表

UI布局是这样滴: 具体的关于滑动列表的设置可以参考这里,其中Image的Scroll Rect组件的Content赋值为Content,在这里,我们的Content是一个空物体,它的大小就是上图那个方框的大小.这里有两点很重要: 1.Content的Pivot的Y必须设置为Y的最大值,就像这样: 这是为什么呢?其实动态滑动列表的原理主要就是动态改变Content的Height,当中心点处于最顶的位置时,就能保证顶部位置不变,只有下部的位置在变化.假如中心点处于中间位置,那么改变Height,两

在可滑动列表(ListView &amp; RecyclerView)中实现视频播放

Facebook: Instagram: Magisto 这篇文章里的技术是基于VideoPlayerManager这个开源类库的. 类库包含所有的代码以及一个示例.我在这篇文章里会跳过一些东西,所以如果要搞清楚某个细节,那最好还是把源码导入IDE然后再看这篇文章吧.就算你不看源码,这篇文章还是可以让你理解我以何种方式解决了什么问题. 两个问题 要实现目标我们要解决两个问题: 我们要控制视频播放.在Android系统中我们可以使用MediaPlayer.class操作SurfaceView而且播

unity UGUI动态滑动列表

步骤: 1.在SceneMail创建一个Panel 改名为ScrollRect,ScrollRect添加Mask和Scroll Rect组件,Scroll Rect组件勾选Vertical 只需要垂直滚动 2.在SceneMail创建一个Scrollbar控件 3.ScrollRect上添加子控件Panel 改名为ScorllView,ScorllView大小覆盖ScrollRect 4.ScorllView添加子控件Panel 改名为Content,Content大小覆盖ScorllView

学习笔记:Unity战斗卡牌游戏(二)-----滑动列表及克隆删除对象以及代码添加脚本

鼠标悬浮.点击放大特效 Button Scale: 按钮点击事件 将新建的Login脚本挂到Scene下: 方法一: 1)获取输入框及按钮 2) 注册监听器,绑定的是BoxCollider的gameObject 3) 填写按钮事件 private UIInput input1; private UIInput input2; void Start () { // 1)获取输入框及按钮 input1 = transform.Find("Input1").GetComponent<U

[UnityUI]循环滑动列表

效果图: 使用的是UGUI和DOTween 其中比较关键的是循环滑动和层次排序: 1.循环滑动:这里先假设显示五张图片,分别标记为0,1,2,3,4,那么当向左滑动时,序列就变为1,2,3,4,0,这里先保存4的位置,然后从4开始,4的位置和大小向3渐变,3的位置和大小向2渐变,2的位置和大小向1渐变,1的位置和大小向0渐变,0的位置直接变为原来保存的4的位置.也就是说,当向左滑动时,最左端的那张图片特殊处理,其余的向左推进:当向右滑动时,最右端的那张图片特殊处理,其余的向右推进. 2.层次排序

关于Unity中的NGUI和UGUI

用Unity开发2D游戏,有三套关系 1.GUI:Unity本身的对象 2.NGUI:以前在Unity中广泛来做2D的,是第三方的包,需要安装 3.UGUI:Unity5.X后,Unity找到NGUI的作者,开发了UGUI,变成内置于Unity中的包,官方主推 所有的元素都在Unity的UI工具栏 3D做2D游戏的方法: 1: 使用正交摄像机;2: 使用透视摄像机,将2D元素移动到合适的距离. 例如设计分辨率为 960x640, 得到在3D世界里面一个图片的大小w*h米,将这个图片移动到一定的距

DevExpress Carousel 设置水平滑动列表

DevExpress中Carousel控件的应用 Carousel,直译为旋转木马,即旋转视图,可以做为数据的展示或者菜单项. 要实现触摸左右滑动的效果,其实是比较容易的,直接在CarouselPanel上实现MouseDown/MouseUp事件,在后台添加逻辑,判断是否产生了位置移动,从而控制面板向左或者向右移动子项. 下面介绍一下,Carousel具体使用方法: 1.添加一个CarouselItemsControl 2.设置CarouselItemsControl的ItemContaine