网站大量收购独家精品文档,联系QQ:2885784924

Unity中的ScrollRect滑动结束后,自动将最靠近中间的元素居中.pdf

Unity中的ScrollRect滑动结束后,自动将最靠近中间的元素居中.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UUnniittyy 中中的的SSccrroollllRReecctt滑滑动动结结束束后后 ,,⾃⾃动动将将最最靠靠近近中中间间的的元元素素居居中中 思思路路 停⽌滑动 (OnEndDrag)时,调整Content的localPosX :使其逐渐变为与其最接近的若⼲的标准PosX中的那个。 说说明明 当前只⽀持横向滑动。 2种模式: 1. 根据停⽌滑动时是左滑还是右滑来决定⾃动滑动⽅向 2. 当前哪个元素最靠近中央,就将该元素的位置归到中央 ⽤⽤法法 将UIScrollRectAdj ustor挂 ScrollRect 同级节点上。 可配置 1. ⾃动移动时的移动速度 2. 使⽤哪种模式寻找标准PosX。 具具体体实实现现 UIScrollRectAdj ustor.cs using System.Collections; using System.Collections.Generic; using UnityEngine ; using UnityEngine.UI; using UnityEngine.EventSystems; [RequireComponent(typeof(ScrollRect))] pu lic class UIScrollRectAdj ustor : MonoBehaviour, IEnd DragHandler, IBeginDragHandler { private ScrollRect _scrollRect; private RectTransform _contentRectTrans; private float _ minX ; private float _ aseX ; private float _xOffset; [SerializeField ,Header( ⾃动移动时的移动速度)] private float _ moveSpeed = 3000 ; private IEnumerator _ autoMoveCoroutine ; [SerializeField , Header(⽅向优先)] private ool _shouldBaseOnMoveDir; private void Start() { Init(); } private void OnDestroy() { Destroy(); } pu lic void Init() { _ minX = 0 ; _ minX = 0 ; _scrollRect = GetComponentScrollRect(); _contentRectTrans = _scrollRect.content; var gridLayoutGroup = _contentRectTrans.GetComponentGridLayoutGroup(); _ aseX = gridLayoutGroup.cellSize.x / 2 + gridLayoutGroup.padding.left; _xOffset = gridLayoutGroup.cellSize.x + gridLayoutGroup.spacing.x ; } pu lic void Destroy() { StopAutoMove(); _scrollRect = null; _contentRectTrans = null; } pu lic void OnBeginDrag(PointerEventData eventData) { if (_ minX == 0) { var gridLayoutGroup = _contentRectTrans.GetComponentGridLayoutGroup(); _

文档评论(0)

180****2140 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档