[Unity实战]EnhancedScroller v2.21.4简单使用[开箱可用]

news2024/9/28 1:03:20

[Unity实战]EnhancedScroller v2.21.4简单使用[开箱可用]

  • EnhancedScroller v2.21.4 简单使用
    • EnhancedScroller是什么?
    • 1.处理UI
      • 1.1 加入Canvas
      • 1.2 Canvas/Scroller --> 空对象
      • 1.3 Scroller加入组件 EnhancedScroller
      • 1.4 拖拽Scroller
      • 1.5 Scroller/GameObject --> 拖拽到Scroller组件ScrollRect下的Content中\
      • 1.6 Scroller Controller --> 空对象
    • 2.处理CSharp
      • 2.1 建立脚本 AnimalCellView.cs //继承 EnhancedScrollerCellView。处理数据的布局和格式以及显示数据
      • 2.2 建立脚本 ScrollerController.cs //继承 MonoBehaviour, IEnhancedScrollerDelegate。
      • 2.3 建立脚本 ScrollerData.cs //列表数据,每个Item的数据
    • 3.处理UI->Item
      • 3.1建立Cell View单元格Prefab 在GameObject下建立一个Panel
      • 3.2将建立的脚本AnimalCellView.cs附加给这个Panel
      • 3.3设置Cell Identifier。每个Prefab的 Cell Identifier是唯一的。
    • 4.建立Scroller控制器
      • 4.1点击ScrollerController对象,将ScrollerController.cs
      • 4.2设置好对应的对象拖进ScrollerController
    • 5.效果
    • 6.github && enhancedscroller v2.x下載

Unity5星资产EnhancedScroller的快速使用(一)

EnhancedScroller v2.21.4 简单使用

在这里插入图片描述

EnhancedScroller是什么?

EnhancedScroller
想用快速和便于移动设备的方法来展示大量数据吗?

EnhancedScroller 将你的数据虚拟化,只显示出所需元素。将数以千计的行数带到几个 UI 元素中来显示,加速处理并节省内存。对象不会被破坏,因此你的平台不需对垃圾进行收集。最好的是,它能在 Unity 内置 UI 系统组件上使用。

列表是数据驱动和动态创建的,因此在设计时不必设置它们。滚动器不需意识到数据或或视图展示,只需专注于管理你的列表来实现真正的 MVC 体验。可选的循环允许你显示无限的数据列表。每个单元都能拥有自己的尺寸或都使用一个尺寸。可选的对齐功能让你将单元锁定到特定位置。补间功能简化了跳跃和对齐的过渡,带来平滑的用户体验。

功能:

  • 动态、数据驱动列表
  • MVC 框架,来保持必要的分离
  • 高效回收列表项目
  • 可选的无限循环
  • 支持多列表项目大小或全局大小
  • 列表项目完全可自定义来满足你的项目需求
  • 可选的对齐功能来锁定你的滚动器
  • 补间功能来简化跳跃和对齐
  • 演示、教程和 完整 C# 代码都包含在内。
    enhancedscroller
    官网demo
    unity-assetstore

1.处理UI

1.1 加入Canvas

在这里插入图片描述

1.2 Canvas/Scroller --> 空对象

在这里插入图片描述

1.3 Scroller加入组件 EnhancedScroller

在这里插入图片描述

1.4 拖拽Scroller

在这里插入图片描述

1.5 Scroller/GameObject --> 拖拽到Scroller组件ScrollRect下的Content中\

在这里插入图片描述

1.6 Scroller Controller --> 空对象

在这里插入图片描述

2.处理CSharp

2.1 建立脚本 AnimalCellView.cs //继承 EnhancedScrollerCellView。处理数据的布局和格式以及显示数据

using EnhancedUI.EnhancedScroller;
using UnityEngine.UI;

public class AnimalCellView : EnhancedScrollerCellView
{
          public Text animalNameText;

          public void SetData(ScrollerData data)  //设置Prefab UI的数据,例如Text、Image
          {
                    animalNameText.text = data.animalName;
          }
}

2.2 建立脚本 ScrollerController.cs //继承 MonoBehaviour, IEnhancedScrollerDelegate。

using System.Collections;
using System.Collections.Generic;
using EnhancedUI.EnhancedScroller;
using UnityEngine;

public class ScrollerController : MonoBehaviour, IEnhancedScrollerDelegate
{
          private List<ScrollerData> _data;
          public EnhancedScroller myScroller;
          public AnimalCellView animalCellViewPrefab;

          void Start()
          {
                    _data = new List<ScrollerData>();
                    _data.Add(new ScrollerData() { animalName = "Lion" });
                    _data.Add(new ScrollerData() { animalName = "Bear" });
                    _data.Add(new ScrollerData() { animalName = "Eagle" });
                    _data.Add(new ScrollerData() { animalName = "Dolphin" });
                    _data.Add(new ScrollerData() { animalName = "Ant" });
                    _data.Add(new ScrollerData() { animalName = "Cat" });
                    _data.Add(new ScrollerData() { animalName = "Sparrow" });
                    _data.Add(new ScrollerData() { animalName = "Dog" });
                    _data.Add(new ScrollerData() { animalName = "Spider" });
                    _data.Add(new ScrollerData() { animalName = "Elephant" });
                    _data.Add(new ScrollerData() { animalName = "Falcon" });
                    _data.Add(new ScrollerData() { animalName = "Mouse" });

                    myScroller.Delegate = this;   //必须有这个
                    myScroller.ReloadData();     //加载数据到Item

          }


          public int GetNumberOfCells(EnhancedScroller scroller)
          {
                    return _data.Count;  //返回Item的数量。
          }

          public float GetCellViewSize(EnhancedScroller scroller, int dataIndex)
          {
                    return 100f;   //返回每个cell单元格的大小。如果横向滚动,这个数值指的是宽度;如果是竖向滚动,这个数值指的是高度。
          }

          public EnhancedScrollerCellView GetCellView(EnhancedScroller scroller, int dataIndex, int cellIndex)
          {
                    AnimalCellView cellView = scroller.GetCellView(animalCellViewPrefab) as AnimalCellView;  //生成GameObject,

                    cellView.SetData(_data[dataIndex]);           //设置Item的数据

                    return cellView; //设置好Prefab的EnhancedScrollerCellView 的数据,然后返回数据设置完成的EnhancedScrollerCellView
          }
}

2.3 建立脚本 ScrollerData.cs //列表数据,每个Item的数据

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScrollerData
{
          public string animalName;
}

3.处理UI->Item

3.1建立Cell View单元格Prefab 在GameObject下建立一个Panel

在这里插入图片描述

3.2将建立的脚本AnimalCellView.cs附加给这个Panel

在这里插入图片描述

3.3设置Cell Identifier。每个Prefab的 Cell Identifier是唯一的。

在这里插入图片描述

4.建立Scroller控制器

在这里插入图片描述

4.1点击ScrollerController对象,将ScrollerController.cs

4.2设置好对应的对象拖进ScrollerController

5.效果

在这里插入图片描述

6.github && enhancedscroller v2.x下載

github
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/737740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPIO8种工作模式

前言&#xff1a; GPIO是单片机通用的输入输出引脚&#xff0c;基本用途可作为开关&#xff0c;常用于控制LED亮灭、蜂鸣器的鸣响、电机的转停&#xff0c;但由于驱动能力不够&#xff0c;常常要与三极管一起使用。其它的高级用途如I/O作为输入引脚&#xff0c;可检测外部的中…

「解决」pip install xxx 解释器错误: 没有那个文件或目录

bash: /home/raywit/anaconda3/envs/xxx/bin/pip: /home/another/anaconda3/envs/xxx/bin/python: 解释器错误: 没有那个文件或目录 上图是当我拷贝别人环境时发现少包&#xff0c;然后继续pip时出现这样的错&#xff0c;根本原因则是使用pip时路径没修改成自己的。&#xff08…

金九银十互联网大厂Java面试1000问,覆盖一线大厂各种面试痛点

不知不觉马上要到金九银十的跳槽黄金月&#xff0c;跳槽结果有人欢喜有人愁&#xff0c;找到好的下家固然可喜&#xff0c;跳槽结果不理想的朋友也不必丧气&#xff0c;只要扎实提升自己的技术&#xff0c;弄明白大厂面试官的出题逻辑&#xff0c;进大厂必是水到渠成。 之前有…

任天堂 Switch 六月销量破纪录,极有可能成为日本市场销量冠军

任天堂于2017年发布的游戏机Switch已进入第六个年头。虽然该游戏机在硬件性能和品控方面受到一些评价不佳&#xff0c;但销售数据表明绝大多数玩家仍然乐意购买Switch游戏机。 根据日本经济新闻报道&#xff0c;今年6月Switch在日本销售了380,000台机器&#xff0c;同比增长68%…

单片机第一季:零基础3

目录 1&#xff0c;第五章 2&#xff0c;第六章 1&#xff0c;第五章 IDE概念&#xff1a; IDE就是集成开发环境&#xff0c;就是一套用来开发的完整的软件系统。 Keil和MDK&#xff1a; (1)本来只能用来开发51单片机&#xff0c;叫Keil&#xff1b; (2)后来ARM公司收购了Ke…

Python学习笔记(二十)————面向对象

&#xff08;1&#xff09;面向对象的好处 在日常中&#xff0c;记录数据时往往使用统一的表格&#xff0c;这样就不会使得数据信息格式混乱&#xff0c;同样在程序中的数据组织中&#xff0c;仅仅通过变量来记录会显得混乱不统一。 在程序中是可以做到和生活中那样&#xff…

探究Vue源码:mustache模板引擎(5) 对比rollup与webpack,在本地搭建webpack环境

好 从本文开始 我们就来手写一下mustache这个库 他是模板引擎的一个祖先 将模板字符串编译成一个dom字符串 就是它的思想&#xff0c;这也是一个具有跨时代意义的思想 这里的话 我们还是搭一个 webpack 的项目环境 这里值得一提的是 mustache 他官方是通过rollup来进行打包的 …

7-3 种钻石

7-3 种钻石 分数 5 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 2019年10月29日&#xff0c;中央电视台专题报道&#xff0c;中国科学院在培育钻石领域&#xff0c;取得科技突破。科学家们用金刚石的籽晶片作为种子&#xff0c;利用甲烷气体在能量作用下形成碳的等离子体…

抖音seo源码/源代码搭建/源代码部署打包-支持二开

1. 抖音seo源码/源代码搭建/源代码部署打包-支持二开 抖音SEO是指通过提高在抖音平台的关键词排名&#xff0c;来获取流量、获取客户的目的。抖音的流量主要分为付费流量、推荐流量和搜索流量&#xff0c;其中搜索流量因为付费太贵、上热门太累而成为另一种进入方式。与传统搜…

一个UE频繁掉网的问题

这个UE频繁掉网的问题&#xff0c;其实蛮low的&#xff0c;熟悉的人&#xff0c;看一个参数值就搞定这个问题了&#xff0c;但是还是做个记录。问题背景是运营商指定UE锁在某个NR小区&#xff0c;在一个区域的弱信号点(RSRP -110dbm左右)进行TPUT测试&#xff0c;但是最后发现U…

4.日志分布式-ELK

文章目录 日志分布式-ELK概念可以添加的其它组件filebeat 结合 logstash 带来好处为什么要使用 ELK缓存和Fluentd完整日志系统基本特征ELK 的工作原理 部署Elasticsearchjdk环境和防火墙配置安装Elasticsearch修改配置文件优化内存参数启动程序并测试效果安装 Elasticsearch-he…

DTZY-3579-z型三相四线费控智能电能表

智能电能表是现代智能电网中的重要组成部分&#xff0c;它集电能计量、数据采集、远程控制、安全保护等多种功能于一体&#xff0c;为电力系统的高效运行和能源管理提供了有力支持。其中&#xff0c;DTZY-3579-z 型三相四线费控智能电能表是一款性能稳定、功能齐全、安全可靠的…

【百度Linux训练营】

百度Linux训练营 1. Linux基础1.1 操作系统概述1.1 常见目录介绍 2.Linux命令上 1. Linux基础 课程地址 1.1 操作系统概述 操作系统(Operation system) 操作系统是用户和计算机的接口&#xff0c;同时也是计算机硬件和应用程序的接口&#xff0c;也就是我们和计算机底层硬件…

7款非常强大而鲜为人知的国产软件,每一款都是精品!

提起国产软件&#xff0c;大家最常想到的词是乱收费、捆绑安装、不好用、广告多&#xff0c;在过去&#xff0c;这些词在很长一段时间和国产软件捆绑在一起。 其实&#xff0c;有不少鲜为人知的国产软件一直在坚持做好&#xff0c;不仅没有以上问题&#xff0c;功能非常强大&am…

亚马逊云科技数据分析,帮助乐城堡实现更加精细化的业务运营

获得全球三千五百多万用户的认可的移动游戏企业乐城堡希望通过数据分析为游戏业务提供更好的决策支撑。乐城堡在亚马逊云科技上利用Amazon Redshift等服务构建属于自己的云上游戏数据分析平台&#xff0c;实现复杂查询&#xff0c;保证游戏运营人员能快速、近实时地获取所需的数…

leetcode链表刷题2

题单&#xff1a; 一&#xff0c;链表的分割 1.题目描述 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。你不需要 保留 每个分区中各节点的初始相对位置。 2.题目接口 /***…

COMDEL射频电源维修康戴尔高频电源CLX2750

美国COMDEL电源维修常见型号包括&#xff1a;CLX2750&#xff1b;CLX2500&#xff1b;CLX-600H&#xff1b;CX600AS&#xff1b;CX-5000S&#xff1b;CX-3500S&#xff1b;CX-2500S&#xff1b;CV500&#xff1b;CDX2000等。 Comdel成立于1966年&#xff0c;总部设在马萨诸塞州…

STM32 10个工程篇:1.IAP远程升级(五)

伴随着催更不断&#xff0c;周日晚上来继续撰写STM32 IAP远程升级的项目例程&#xff0c;在这篇博客中笔者主要结合上位机报文发送机制来介绍下位机的报文解析设计&#xff0c;坚持做原创博客确实是一件很考验耐力的事情&#xff0c;一方面博客的文字和图片需要投入大量精力和时…

关于2023年积分落户公示及落户办理有关工作的通告

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Mybatis从0到1 SQL注入 参数占位符 XML配置 动态SQL

1. Mybatis基础操作 学习完mybatis入门后&#xff0c;我们继续学习mybatis基础操作。 1.1 需求 需求说明&#xff1a; 根据资料中提供的《tlias智能学习辅助系统》页面原型及需求&#xff0c;完成员工管理的需求开发。 通过分析以上的页面原型和需求&#xff0c;我们确定了功能…