Unity实现一个可扩展的UGUI无限滑动列表控件

这篇具有很好参考价值的文章主要介绍了Unity实现一个可扩展的UGUI无限滑动列表控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

12月20日新增

增加一个可收缩的滑动列表,适用于游戏中的任务系统,成就等
unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表
使用说明

创建时需要两个模板slot,一个是button,另一个则是btn下显示的cell
unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

配置如下图添加ExpandableView脚本,新增的IsDefaultExpand用来控制是否展开
unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

11月28日新增

增加可调节的顶部间隙和左侧间隙
unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

采用 缓存池+存储布局坐标 实现的一个可横向或纵向滑动的无限滑动列表

Demo展示:

unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

功能支持:

可以满足大部分如背包,商店商城,工具栏,任务栏窗口等列表功能

  • 支持整个列表刷新或单个对象刷新
  • 支持横向多行滑动,可设置行数,左右间隔大小
  • 支持纵向多行滑动,可设置行数,左右间隔大小
  • 支持通过列表索引定位到列表中的某一位置
  • 可以作为基本扩展
  • 详细可看源码…

案例测试:

导入Package后的目录结构如下,打开MainDemo场景

unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

场景上有一个TestScript节点挂在了脚本 RecycleViewTest.cs,默认配置了1000个数据和通过索引定位到966位置(暗示上班时常),此处可以修改启动游戏测试。实际开发中,可以参照该脚本中的方法调用对滑动列表进行初始化。

unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

使用方法:

在你制作好的scrollview上挂载脚本 RecycleView.cs,并且详细参数进行设置,如下图:

unity无限滚动列表,我做游研这件事,unity,UGUI,ScrollView,无限滑动列表

目前最大支持10行或10列,如果需要配置更多行,则需要去脚本RecycleViewEditor.cs中找到行列设置参数lines进行修改

rv.lines = EditorGUILayout.IntSlider("Row Or Column", rv.lines, 1, 10);

生成你的滑动列表的必要三个步骤

  1. 持有RecycleView对象rv,并注册回调函数 rv.Init(callBackFunc)
  2. 刷新整个列表(首次调用和数量变化时调用): ShowList(int count)
  3. 在回调函数中做具体的显示,操作等 Func(GameObject cell, int index)

示例代码:

public RecycleView VerticalScroll; // 持有对象

void Start()
{
    StartScrollView();
}

public void StartScrollView()
{
    VerticalScroll.Init(NormalCallBack); // 注册回调
    VerticalScroll.ShowList(ListCount);  // 刷新列表
}

private void NormalCallBack(GameObject cell, int index)
{
    // 在该方法中做具体的逻辑
}

资源地址:

GitHub:RecycleViewSample

git clone https://github.com/wankcn/RecycleViewSample.git
git clone git@github.com:wankcn/RecycleViewSample.git

CSDN站内资源:RecycleView.unitypackage文章来源地址https://www.toymoban.com/news/detail-803442.html

到了这里,关于Unity实现一个可扩展的UGUI无限滑动列表控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity UGUI 滚动列表

    效果: 当前用的 Unity 版本为 5.6.7f1,场景分辨率为 1440 * 2560,下面的案例中,都是以这个分辨率为标准,如果你设置的屏幕大小和我的不一样,那么在后面的操作中,参数可能会不一样。 添加完成后,场景界面如下    如下 将 Content 的大小调整一下 在场景中的显示如下 将

    2024年02月02日
    浏览(32)
  • Unity UGUI3——三大基础控件

    ​ Image 是图像组件,是 UGUI 中用于显示精灵图片的关键组件 ​ 除了背景图等大图,一般都使用 Image 来显示 UI 中的图片元素 Source Image:图片来源 图片类型必须是“精灵 Sprite”类型 Color:图像的颜色 Matreial:图像的材质 一般不修改,会使用 UI 的默认材质 Raycast Target:是否

    2024年02月09日
    浏览(43)
  • Unity UGUI的Slider(滑动条)件组的介绍及使用

    Slider(滑动条)是Unity UGUI中的一种常用UI组件用,于在用户界面中实现滑动选择的功能。通过拖动滑块,用户可以选择一个数值范围的内值。 Slider组件由两部分组成:滑动区域和滑块。滑动区域用于显示滑动条的背景,而滑块则表示当前的数值位置。用户可以通过拖动滑块来

    2024年02月11日
    浏览(26)
  • Unity - 无限循环列表

    效果和UI结构 效果 Tips:免费的视频转GIF网站 UI结构 父节点为一个Panel Panel的Vertical Layout Group方便快捷调整Panel下的Image子物体的位置,使用时取消组件 Image是列表的子物体,只有一个Text子物体。 Scroll New代码 实现思路 动态更改所有子节点的y轴位置实现上下移动 改变超过位置

    2024年02月12日
    浏览(31)
  • unity2d实现一个全方位的无限随机地图

    要实现一个全方位的无限随机地图,可以考虑以下步骤: 1.创建一个空的场景,并添加一个相机和一个玩家对象。 2.创建一个TileMap,它将作为你的地图板块。你可以使用随机数生成算法生成各种类型的地形,如森林、草地、沙漠等等,并使用TileMap将它们组装在一起来创建你

    2024年02月07日
    浏览(32)
  • Unity UGUI一键绑定UI控件工具(编辑器拓展)

    全为一键生成 实现自动生成代码绑定UI控件 并生成字典保存UI控件 减少自己拖拽 和手动书写过程 适用动态加载面板 建议搭配UI框架使用 根据当前选中的gameobject 查找其下方是否有对应类型的控件 有就保存到字典中 然后通过向上递归拼凑地址,然后生成到粘贴板 直接粘贴到目

    2024年04月23日
    浏览(49)
  • 【Unity-UGUI控件全面解析】| Toggle 开关组件详解

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发

    2024年02月04日
    浏览(37)
  • 【Unity-UGUI控件全面解析】| Image 图片组件详解

    🎬 博客主页:

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包