using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class TurnPagesComponent : MonoBehaviour
{
private Button[] buttons;
private Button btnLast;
private Button btnNext;
public int ShowPageCount = 10;
private int index = 1;
private int totalPage = 0;
void Start()
{
SaveData();
btnLast.onClick.AddListener(LastPage);
btnNext.onClick.AddListener(NextPage);
}
/// <summary>
/// 存储数据
/// </summary>
private void SaveData()
{
buttons = transform.GetChild(0).GetComponentsInChildren<Button>(true);
btnLast = transform.GetChild(1).GetComponent<Button>();
btnNext = transform.GetChild(2).GetComponent<Button>();
if (buttons.Length>ShowPageCount)
{
btnLast.gameObject.SetActive(index != 1);
btnNext.gameObject.SetActive(index != totalPage);
}
else
{
btnLast.gameObject.SetActive(false);
btnNext.gameObject.SetActive(false);
}
TotalPage();
}
/// <summary>
///显示当前页面内容
/// </summary>
private void ShowCurrentPage(int currentPage)
{
for (int i = 0; i < buttons.Length; i++)
{
if (i/10==currentPage)
{
buttons[i].gameObject.SetActive(true);
}
else
{
buttons[i].gameObject.SetActive(false);
}
}
}
/// <summary>
/// 总页数
/// </summary>
/// <returns></returns>
private int TotalPage()
{
totalPage = (buttons.Length / ShowPageCount) + (((buttons.Length % ShowPageCount) == 0) ? 0 : 1);
return totalPage;
}
/// <summary>
/// 下一页
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void NextPage()
{
index++;
btnNext.gameObject.SetActive(index != totalPage);
btnLast.gameObject.SetActive(index != 1);
ShowCurrentPage(index-1);
}
/// <summary>
/// 上一页
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void LastPage()
{
index--;
btnLast.gameObject.SetActive(index != 1);
btnNext.gameObject.SetActive(index != totalPage);
ShowCurrentPage(index-1);
}
}
Función de cambio de página de Unity
Supongo que te gusta
Origin blog.csdn.net/weixin_46051151/article/details/126908180
Recomendado
Clasificación