Unity3D實現(xiàn)列表分頁效果
更新時間:2020年04月16日 09:32:03 作者:無涯Andy
這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)列表分頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity3D實現(xiàn)列表分頁效果的具體代碼,供大家參考,具體內(nèi)容如下
using System.Collections.Generic;
using UnityEngine;
public class Page : MonoBehaviour {
public List<string> Tips = new List<string>();
public Texture2D DetailImg1;
public Texture2D DetailImg2;
private int pageCount = 0;//當前記錄所需頁數(shù)
private static int currentPage = 1;//當前頁碼
void OnGUI() {
pageCount = Mathf.CeilToInt(Tips.Count / 8.0f);//計算當前的頁碼總數(shù)
int m_count = 0;//計算當前頁的記錄數(shù)
if (currentPage != pageCount)//判斷是否是最后一頁,若不是則每頁繪制8條記錄
{
m_count = 8;
}
else {
if (Mathf.CeilToInt((Tips.Count + 1) / 8.0f) > pageCount)//判斷最后一頁是否有8條記錄
{
m_count = 8;
}
else
{
m_count = Tips.Count % 8;//計算最后一頁的記錄數(shù)
}
}
for (int i = 0; i < m_count; i++)
{
if (i % 2 == 0)
{
GUI.DrawTexture(new Rect(268, 253 + i * 36, 487, 36), DetailImg1);
}
else
{
GUI.DrawTexture(new Rect(268, 253 + i * 36, 487, 36), DetailImg2);
}
GUI.Label(new Rect(310, 253 + i * 36, 300, 36), Tips[(currentPage - 1) * 8 + i]);
}
//超過一頁內(nèi)容時,顯示頁碼跳轉(zhuǎn)
if (pageCount > 1) {
float temp = Screen.width / 2 - pageCount / 2 * 20;
for (int i = 1; i <= pageCount; ++i) {
//更改按鈕樣式
if (currentPage == i)
{
GUI.backgroundColor = Color.red;
}
else
{
GUI.backgroundColor = Color.white;
}
//繪制按鈕
if (GUI.Button(new Rect(temp + 20 * i, 600, 20, 20), i.ToString())) {
currentPage = i;//更改當前選中的頁
}
}
}
}
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Unity3D利用DoTween實現(xiàn)卡牌翻轉(zhuǎn)效果
這篇文章主要為大家詳細介紹了Unity3D利用DoTween實現(xiàn)卡牌翻轉(zhuǎn)效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
C# 使用Fiddler捕獲本地HttpClient發(fā)出的請求操作
這篇文章主要介紹了C# 使用Fiddler捕獲本地HttpClient發(fā)出的請求操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10

