Unity做游戏避免不了使用列表,比如关卡游戏 有可能会有上千个关卡,这个使用UGUI原生列表会非常卡,下面提供了一种方法,可以无限循环列表,并且很流畅 列表循环展示:
1:功能实现代码
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MainStart : MonoBehaviour
{
public FitScrollViewH curfit;
public int AllItemNum = 1000;
// Start is called before the first frame update
void Start()
{
ReloadItems();
}
public void ReloadItems()
{
curfit.SetElement = delegate(ScrollViewTemplate temp)
{
//todo 做自己想做的事,赋值列表信息等
temp.width = 150;//列表宽
Transform tf = temp.ts;//列表节点
int index = temp.index + 1;
Transform title = tf.Find("Text");
title.GetComponent<Text>().text = String.Format("第{0}个数据",index);
};
curfit.Total = AllItemNum;//列表总个数
curfit.Initialize(1);//列表定位
}
}
2:列表功能
1刷新界面数据 调用方法
curfit.UpdateData();
当界面数据有更新时调用该方法 列表位置不变,数据变成最新的
2标题列表定位
当进入游戏中需要定位到某一个数据在第一列时调用方法
curfit.Initialize(sel);//列表定位sel:要定位数据的索引位置
3:控件脚本
主要控件脚本有两个
1:FitScrollViewBase.CS
2: FitScrollViewH.CS
4:unity设置 4.1:脚本导入 4.2:拖拽代码 4.3:运行代码 关注微信公众号:回复UGUI无限列表资源 下一篇:Unity UGUI无限列表循环 (竖向)
|