要实现在 Unity 预制体的 PostGUI 文字输入框中添加字幕换行并自动向下滚动的效果,可以按照以下步骤进行操作:

  1. 确保在 Textback 预制体上添加一个 Scrollbar 组件,用于控制文本内容的滚动。
  2. 在 Textback 预制体上添加一个 Mask 组件,用于限制文本内容的显示范围,防止超出界面。
  3. 将 Scrollbar 组件的 Direction 属性设置为 Vertical,使其可以垂直滚动。
  4. 在 Textback 预制体上添加一个 Text 组件,用于显示文本内容。
  5. 将 Text 组件的 Vertical Overflow 属性设置为 Overflow,使其可以显示超出范围的文本。
  6. 创建一个脚本,用于控制文本内容的显示和滚动。可以命名为 ScrollText。
  7. 在 ScrollText 脚本中定义一个公共的 Text 变量,用于引用 Text 组件。
  8. 在 ScrollText 脚本的 Update 方法中判断文本内容是否超出显示范围,如果超出则将 Scrollbar 的值向下滚动。
  9. 将 ScrollText 脚本添加到 Textback 预制体上的 Text 组件上。

下面是一个示例的 ScrollText 脚本的代码:

using UnityEngine;
using UnityEngine.UI;

public class ScrollText : MonoBehaviour
{
    public Text textComponent;
    private Scrollbar scrollbar;

    private void Start()
    {
        scrollbar = GetComponentInChildren<Scrollbar>();
    }

    private void Update()
    {
        if (textComponent.preferredHeight > textComponent.rectTransform.rect.height)
        {
            scrollbar.value = 0;
        }
    }
}

将上述代码添加到一个名为 ScrollText.cs 的脚本文件中,并将其添加到 Textback 预制体上的 Text 组件上。

这样,当文本内容超出显示范围时,Scrollbar 的值会自动向下滚动,实现了自动换行并向下滚动的效果。

标签: 常规


原文地址: https://cveoy.top/t/topic/bGoL 著作权归作者所有。请勿转载和采集!