【Unity3D实现无限循环列表分页显示效果】

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

Unity3D实现无限循环列表分页显示效果

一、简单介绍

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

Unity-----列表功能实现(数据读取.CSV文件)

效果展示图

在这里插入图片描述
在这里插入图片描述

二、关键代码

数据库内读取数据,列表显示。

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();

    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值