Unity3D 使用 NGUI 自带的滚动条

2015年09月01日 12:17 0 点赞 0 评论 更新于 2025-11-21 18:55

在处理大数据显示时,滚动条是常用的组件。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 方法。

运行测试

完成上述步骤后,运行游戏,即可看到滚动条的效果。

转载自:最终幻想

作者信息

洞悉

洞悉

共发布了 3994 篇文章