Unity 预制体 PostGUI 文字输入框字幕换行自动滚动
要实现在 Unity 预制体的 PostGUI 文字输入框中添加字幕换行并自动向下滚动的效果,可以按照以下步骤进行操作:
- 确保在 Textback 预制体上添加一个 Scrollbar 组件,用于控制文本内容的滚动。
 - 在 Textback 预制体上添加一个 Mask 组件,用于限制文本内容的显示范围,防止超出界面。
 - 将 Scrollbar 组件的 Direction 属性设置为 Vertical,使其可以垂直滚动。
 - 在 Textback 预制体上添加一个 Text 组件,用于显示文本内容。
 - 将 Text 组件的 Vertical Overflow 属性设置为 Overflow,使其可以显示超出范围的文本。
 - 创建一个脚本,用于控制文本内容的显示和滚动。可以命名为 ScrollText。
 - 在 ScrollText 脚本中定义一个公共的 Text 变量,用于引用 Text 组件。
 - 在 ScrollText 脚本的 Update 方法中判断文本内容是否超出显示范围,如果超出则将 Scrollbar 的值向下滚动。
 - 将 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://www.cveoy.top/t/topic/bGoL 著作权归作者所有。请勿转载和采集!