一、简单介绍
本文简单展示基于unity实现列表翻页显示。为避免数据过多造成资源浪费,采用循环使用列表项方法节省CPU和内存资源。列表实现采用预制体实例化遍历数据方法可见我之前文章。
效果展示图


二、关键代码
数据库内读取数据,列表显示。
using MySql.Data.MySqlClient;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.UI;
public class PageSwitch : MonoBehaviour
{
public static PageSwitch _instance;
//调用数据库
DataBase mysqldata = new DataBase();
//存放数据字典
//public Dictionary<int, Info> _InfoData = new Dictionary<int, Info>();
/// <summary>
/// 存放数据List
/// </summary>
public List<Info> _infoSaveList;
/// <summary>
/// 元素gameobject
/// </summary>
public GameObject[] info_;
/// <summary>
/// 当前页面索引
/// </summary>
private int pageIndex = 1;
/// <summary>
/// 总页数
/// </summary>
private int pageCount = 0;
/// <summary>
/// 元素总个数
/// </summary>
private int itemCount = 0;
public Text CurrentPage;
public Text PageCount;
/// <summary>
/// 设置每页元素数量
/// </summary>
private int PageItemCount = 10;
/// <summary>
/// 元素生成位置
/// </summary>
private Transform UICanvas;
/// <summary>
/// 当前页元素个数
/// </summary>
private int CurrentPageItemCount = 0;
// Use this for initialization
//private void Awake()
//{
// UICanvas = GameObject.Find("Canvas/ItemParent").transform;
//}
void Start()
{
_instance = this;
_infoSaveList = new List<Info>();
InitInfo();
PageCount.text = pageCount.ToString();

文章介绍了如何在Unity3D中使用预制体实现无限循环列表的分页显示,并结合MySQL数据库进行数据读取,展示了关键代码片段以优化资源利用。

1307

被折叠的 条评论
为什么被折叠?



