UGUI实现可以按钮翻页和输入页码点击按钮翻页显示当前页面文本的代码
时间: 2024-02-05 14:10:52 浏览: 29
这里提供一个简单的示例代码,使用UGUI实现按钮翻页和输入页码翻页显示当前页面文本的功能。以下代码使用了一个Text组件显示文本,两个Button组件实现翻页功能,并在Canvas上添加了一个InputField组件,用于输入页码。
```csharp
using UnityEngine;
using UnityEngine.UI;
public class PaginationExample : MonoBehaviour
{
public Text text;
public Button prevButton;
public Button nextButton;
public InputField pageInput;
private int currentPage = 0;
private int totalPages = 5;
void Start()
{
// 初始化文本和按钮状态
UpdateText();
UpdateButtons();
}
void UpdateText()
{
text.text = "Page " + (currentPage + 1) + " of " + totalPages;
}
void UpdateButtons()
{
prevButton.interactable = (currentPage > 0);
nextButton.interactable = (currentPage < totalPages - 1);
}
public void PrevPage()
{
currentPage--;
UpdateText();
UpdateButtons();
}
public void NextPage()
{
currentPage++;
UpdateText();
UpdateButtons();
}
public void GoToPage()
{
int pageNum;
if (int.TryParse(pageInput.text, out pageNum))
{
currentPage = Mathf.Clamp(pageNum - 1, 0, totalPages - 1);
UpdateText();
UpdateButtons();
}
pageInput.text = "";
}
}
```
在上述代码中,我们定义了一个PaginationExample类,它包含了三个公共变量:一个Text组件,两个Button组件和一个InputField组件。Start()方法在游戏对象实例化时被调用,它初始化了文本和按钮的状态。UpdateText()方法用于更新文本组件,显示当前页码和总页数。UpdateButtons()方法用于更新按钮组件的状态,禁用无法翻页的按钮。PrevPage()和NextPage()方法分别在点击“上一页”和“下一页”按钮时被调用,它们更新当前页码并调用UpdateText()和UpdateButtons()方法更新界面。GoToPage()方法在用户输入页码并点击“跳转”按钮时被调用,它解析输入的页码并将其限制在合法范围内。最后,我们清空输入框中的内容以便下一次使用。
要使用此脚本,您需要将其添加到Canvas游戏对象上,然后将相应的UI元素分配给公共变量。您可以根据需要调整totalPages和其他UI元素的属性,以便适应您的应用程序。