女同 调教 【Unity 实用用具篇】 | UGUI 轮回列表 SuperScrollView,快速上手使用
女同 调教
图片
序言 本文先容一个UGUI对于ScrollRect的一个拓展插件:SuperScrollView。作念样式标进程中,ScrollRect组件 的使用频率已经挺高的,尤其是在作念雷同背包这种需要多数子对象的时期。正常情况下,使用ScrollRect作念滑动功能时,淌若子对象特地多,在生成时不免会卡顿。是以就需要一个轮回列表,雷同对象池的功能,只会加载清晰页面中所需要的,而不是一次性一齐加载完成。 【Unity 实用用具篇】 | UGUI 轮回列表 SuperScrollView,快速上手使用 一、UGUI ScrollRect拓展插件:SuperScrollView 1.1 先容UGUI SuperScrollView基于UGUI ScrollRect提供了易于定制的ScrollView。它是一组C#剧本,不错匡助您创建所需的ScrollView。这是曲常宏大的和高度优化的性能。
在SuperScrollView中主要有三个组件,并完了了三种不相通的轮回列表样式:
LoopListView2:适用于 横向/纵向 通俗摆设的列表视图,雷同 Vertical Layout Group / Horizontal Layout Group的使用。LoopGridView:适用于网格摆设,大小斟酌的列表视图,雷同 GridLayout Group 的使用。LoopStaggeredGridView:适用于网格摆设,但大小不斟酌的列表视图,不错完了列表中错列排序等特殊需求。底下就来先容一下这三种轮回列表的使用方式,快速上手及使用。
1.2 后果展示图片
图片
1.3 使用评释及下载Unity Asset Store下载地址:https://assetstore.unity.com/packages/tools/gui/ugui-super-scrollview-86572 CSDN下载地址:SuperScrollView 白嫖地址:VX搜我名字,回答【素材资源】
使用插件的方式有多种:
将下载好的SuperScrollView资源文献径直放到咱们的样式Assets文献夹下即可。不错通过Unity中的 Window -> Package Manager 中导入,接受添加下载好的插件,省略使用URL径直添加齐不错。 二、SuperScrollView 快速上手使用三种功能的组件在使用时区分不大,只不外各个组件有我方出奇的几个参数不错接受,包括添加子对象,驱动生成子对象的数目,设立间距、偏移量和摆设类型等。
图片
功能相比通俗,可成就的参数与Unity成例的布局组件雷同,使用起来很容易上手。在演示之前先作念一个不使用轮回列表时的平方示例,在ScrollView下加载1000个对象。
通俗搭建一个场景,在ScrollView中添加一个item算作生成的对象。
图片
Content上头需要挂载对应的布局组件,这里演示挂载一个垂直布局组件。
图片
Item对象上头挂载一个测试剧本TestItem.cs
using UnityEngine; using UnityEngine.UI; public class TestItem : MonoBehaviour { public Image ImgIcon; public Text TxtName; public void SetData(int _index) { TxtName.text = $"测试:<color=#F55F55>{_index}</color>"; } }
测试生成1000个对象剧本如下:
using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class LoopViewDemo : MonoBehaviour { public Button button; public Transform testContent; public GameObject testItem; private void Awake() { button.onClick.AddListener(() => { StartTest(); }); } private void StartTest() { for (int i = 0; i < 1000; i++) { GameObject go = GameObject.Instantiate(testItem, testContent); var itemInfo = go.GetComponent<TestItem>(); itemInfo.SetData(i); } } }
图片
此时运行游戏,点击早先按钮,不错看到1000个对象一齐被生成。
图片
在游戏中的进展会出现彰着的卡顿征象,对象越多越是如斯。何况背面的对象并不会清晰到玩家不错操作的视图中,独一握住往下滑动时才会清晰,一次性生成白白豪侈了性能。
底下看下SuperScrollView的使秩序及后果。
开心情色网 2.1 LoopListView2与前边平方示例相通正常创建一个ScrollView以及对应的item,接着在ScrollView上头挂载LoopListView2剧本,并在LoopListView2上头添加对应的item对象(需要轮回生成的游戏对象)。
图片
item对象需要挂载LoopListViewItem2剧本,如有对应逻辑剧本也可挂载。
图片
这里有两个点需要瞩目 1.不需要在Content上头挂载对应的布局组件了,不然会出现零乱的后果。 2.ScrollView组件淌若需要保留滑动条,则不行接受Auto Hide And Expand Viewport。
图片
使用LoopListView2的代码如下:女同 调教
using SuperScrollView; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class LoopViewDemo : MonoBehaviour { public Button button; public LoopListView2 LoopListView; private void Awake() { button.onClick.AddListener(() => { StartTest(); }); //驱动化轮回列表 LoopListView.InitListView(0, refreshListInfo); } private void StartTest() { //刷新轮回列表 LoopListView.SetListItemCount(1000, true); } private LoopListViewItem2 refreshListInfo(LoopListView2 loopListView, int index) { if (index < 0