Unity 进阶 之 UGUI 实现动态数据动态翻页显示效果的简单封装(动态更新数据动态更新显示,包括页码和按钮事件等功能)

Unity 进阶 之 UGUI 实现动态数据动态翻页显示效果的简单封装(动态更新数据动态更新显示,包括页码和按钮事件等功能)

目录

Unity 进阶 之 UGUI 实现动态数据动态翻页显示效果的简单封装(动态更新数据动态更新显示,包括页码和按钮事件等功能)

一、简单介绍

二、实现原理

三、注意事项

四、效果预览

五、实现步骤

六、关键代码


一、简单介绍

Unity中的一些知识点整理。

本节简单介绍简单实现翻页的封装,然后就可以动态传入数据动态更新显示了,功能封装,重复使用,这里只是简单封装,基本功能已实现,其他功能拓展,根据需要修改即可,如果你有新的方式也可以留言,多谢。
 

二、实现原理

1、接口传数据,传入指定UI,设置相关事件(按钮事件),然后接口,你们自行处理一些 Item 生成,对应事件添加;

2、接口封装,做了每页显示几个 item,对应的页码生成,对应翻页按钮翻页功能与显隐,等都统一处理了;

三、注意事项

1、本案例只是简单封装,实现基本翻页显示数据功能,如果需要额外功能,可以自行添加和修改

2、本案例仅做参考学习

四、效果预览

五、实现步骤

1、打开 Unity,新建空工程

2、简单步骤场景,实现翻页的大致布局

3、在工程中编写脚本,实现对应功能

4、创建预制体(这里设置是Button按钮),并挂载创建的 Item 脚本

5、对应挂载测试脚本到场景中,并对应赋值

6、运行场景,按下 A S D 分别动态切换数据,效果如上

六、关键代码

1、TestMultiPageItemSelectSimpleWrapper

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using XANTools;

namespace TestSpace
{ 



	public class TestMultiPageItemSelectSimpleWrapper : MonoBehaviour
	{
		public GameObject itemPrefab;
		public Transform gridTrans;
		public Text pageText;
		public Text noDataTipText;
		public Button leftPageButton;
		public Button rightPageButton;

		// Item 和 String 列表 List 数据
		MultiPageItemSelectWrapper<Item, string> mMultiPageItemSelectWrapper;

		// Start is called before the first frame update
		void Start()
		{
			mMultiPageItemSelectWrapper = new MultiPageItemSelectWrapper<Item, string>();

			Test0();
		}

		// Update is called once per frame
		void Update()
		{
            if (Input.GetKeyDown(KeyCode.A))
            {
				Test1();

			}else if (Input.GetKeyDown(KeyCode.S))
			{
				Test2();

			}
			else if (Input.GetKeyDown(KeyCode.D))
			{
				Test3();

			}

		}

		void Test0()
		{
			List<string> tsLst = new List<string>();
			tsLst.Add("Pair");
			tsLst.Add("Apple");
			tsLst.Add("Banana");


			Set(tsLst);
		}

		void Test1() {
			List<string> tsLst = new List<string>();
			tsLst.Add("1");
			tsLst.Add("2");
			tsLst.Add("3");
			tsLst.Add("4");
			tsLst.Add("5");
			tsLst.Add("6");
			tsLst.Add("7");

			Set(tsLst);
		}

		void Test2()
		{
			List<string> tsLst = new List<string>();

			Set(tsLst);
		}

		void Test3()
		{
			List<string> tsLst = 
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值