Unity3D教程:如何实现动态文本的滚动条
发表于2018-04-07
如下图中的框中,每个0.5s就会多增加一行的动态本文,但是右侧的滚动条却能很好地配合其滚动,类似这种功能是如何实现的呢,本篇文章就和大家介绍下实现动态文本的滚动条的方法。
这个UGUI应该如下布置:




这个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。
二是,上一个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
如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引