Unity3D 使用 NGUI 自带的滚动条
在处理大数据显示时,滚动条是常用的组件。NGUI 自带的滚动条组件功能强大、方便且实用。本文将详细演示如何使用 NGUI 自带的滚动条组件。
测试场景设置
我们需要设置 ImagePanel 的裁剪区域,这样才能正确遮罩不需要显示的区域。之后,使用一张测试图片进行演示,并设置好图片的尺寸信息。
编写脚本
1. 创建脚本
新建一个 C# 脚本,命名为 ImagePanel.cs。以下是该脚本的详细代码:
using UnityEngine;
using System.Collections;
public class ImagePanel : MonoBehaviour
{
// 定义 UITexture 类型的公共变量 uiTexture
public UITexture uiTexture;
// 定义 UIScrollBar 类型的公共变量 scrollBar
public UIScrollBar scrollBar;
void Awake()
{
// 在 Awake 方法中,将滚动条的值初始化为 0
this.scrollBar.value = 0f;
}
public void ScrollChange()
{
// 根据滚动条的值计算并更新 uiTexture 的本地位置
this.uiTexture.transform.localPosition = new Vector3(
this.uiTexture.transform.localPosition.x,
150f + this.scrollBar.value * (uiTexture.height - 300f),
0f
);
}
}
代码解释
uiTexture:用于引用需要进行滚动显示的纹理。scrollBar:引用 NGUI 的滚动条组件。Awake():在脚本实例被加载时调用,将滚动条的值初始化为 0。ScrollChange():当滚动条的值发生变化时调用,根据滚动条的值计算并更新uiTexture的本地位置。
挂载脚本与设置属性
1. 挂载脚本
将 ImagePanel.cs 脚本挂载到 ImagePanel 对象上。
2. 设置滚动条属性
设置滚动条的 OnValueChange 属性,确保滚动条值变化时能调用 ScrollChange 方法。
运行测试
完成上述步骤后,运行游戏,即可看到滚动条的效果。
转载自:最终幻想