Unity3D教程:如何实现动态文本的滚动条

发表于2018-04-07
评论1 5.6k浏览
如下图中的框中,每个0.5s就会多增加一行的动态本文,但是右侧的滚动条却能很好地配合其滚动,类似这种功能是如何实现的呢,本篇文章就和大家介绍下实现动态文本的滚动条的方法。

这个UGUI应该如下布置:

1、首先还是整一个Plane或者Image,这里是Image,然后上Mask和Scroll Rect两个组件。

同时指明Text就是那个Text,Vertical Scrollbar就是那个ScrollBar。当然ScrollBar的方向也自然改成从上到下。

2、最关键是Text的修改,否则无法匹配动态文本生成文本的滚动需要!

一是需要修改这个在Image旗下的动态文本的对齐方式,改成横向伸展,同时Pivot这个锚点,Y改成1,X是什么无所谓。
二是,上一个Content Size Fitter的组件,并且设置Vertical Fit为Perferred Size。

这样,就算动态文本以0.5s增加一行,旁边的滚动条也可以很好地适配。

至于文本是怎么以0.5s增加一行的,具体代码如下:
using UnityEngine;  
using UnityEngine.UI;  
using System.Collections;  
public class NewBehaviourScript : MonoBehaviour  
{  
    public GameObject Text1;  
    void Start()  
    {  
        StartCoroutine(coroutine1());  
    }  
    IEnumerator coroutine1()  
    {  
        while (true)  
        {  
            Text1.GetComponent<Text>().text += "sadasdasd\n";  
            yield return new WaitForSeconds(0.5f);  
        }  
    }  
} 
来自:https://blog.csdn.net/yongh701/article/details/77250386

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论