Unity Text之 类似对话聊天的动态长度消息框

2025-10-18 19:30:26

1、打开Unity,新建一个工程,具体如下图

Unity Text之 类似对话聊天的动态长度消息框

2、在场景中添加一个 Text,作为父物体,在其下添加一个 Image,最为背景,一个Text作为具体文字内容的显示,其中 子 Image 和子 Text 填充父物体Text,父物体Text和子物体Text文字格式保持一致,具体如下图

Unity Text之 类似对话聊天的动态长度消息框

3、在父物体 ParentText 上添加一个 ContentSizeFitter 组件,并且设置 Horizontal Fit 和 Vertical Fit 为 Preferred Size ,此时 ParentText 就会根据文字内容自行伸缩,具体如下图

Unity Text之 类似对话聊天的动态长度消息框

Unity Text之 类似对话聊天的动态长度消息框

4、在工程各行中新建一个脚本 ContentSizeFitterTest,双材脂击打开进行代码编辑,具体如下图

Unity Text之 类似对话聊天的动态长度消息框

5、脚本 ContentSizeFitterTest 上,设置 ParentText和ShowText变量,然后同步两个的内容,保持ParentText的动态伸缩,具体代码和说明如下图

Unity Text之 类似对话聊天的动态长度消息框

6、ContentSizeFitterTest 脚本具体内容如下:

using UnityEngine;using UnityEngine.UI;public class ContentSizeFitterTest : MonoBehaviour {    public Text parentText;         // 父Text参数变量    public Text showText;           // 显级珠示的Text参数变量        // Update is called once per frame    void Update () {        ContentSync();    }    /// <summary>    /// 把 ShowText的内容同步到ParentText上    /// </summary>    private void ContentSync() {        string content = showText.text;        parentText.text = content;    }}

7、脚本编译正确,回到Unity,把脚本挂载到ParentText 上,并把ParentText和ShowText对应赋值,具体如下图

Unity Text之 类似对话聊天的动态长度消息框

8、运行场景,在 ShowText 输入文字,会发现ParentText根据输入内容动态伸缩了,具体如下图

Unity Text之 类似对话聊天的动态长度消息框

Unity Text之 类似对话聊天的动态长度消息框

9、最终动销往侧态效果如下图

Unity Text之 类似对话聊天的动态长度消息框

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢