Unity 逐字显示 打字机效果

简介: 在 Unity 中实现逐字显示的打字机效果,主要通过 UGUI Text 组件和 C# 脚本完成。核心原理是将文本逐字拆分并按时间间隔依次显示。具体步骤如下:1. 创建 Text 组件和脚本;2. 使用协程或 Update 方法控制字符逐个显示。代码示例展示了两种实现方式,一种使用协程 `IEnumerator`,另一种通过 `Update` 方法结合 `Substring` 实现逐字显示效果。

在 Unity 中实现逐字显示的打字机效果,核心原理是对文本内容进行逐字拆分,并在一定的时间间隔内依次显示每个字符,以下从不同实现方式详细阐述其原理和实现步骤:
基于 UGUI Text 组件实现
原理概述
借助 Unity 的 UGUI(Unity GUI)系统中的 Text 组件,将完整的文本内容存储起来,然后通过一个计时器控制,按顺序逐个字符地添加到 Text 组件的显示文本中,从而模拟打字机逐字显示的效果。
具体步骤及代码示例

  1. 准备工作
    在 Unity 场景中创建一个 Text 组件,用于显示文本内容。同时创建一个 C# 脚本,将其挂载到包含 Text 组件的游戏对象上。
  2. 代码实现如下:
    ```
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    ///
    /// *Unity文字逐字显示实现*
    ///
    public class Text_ : MonoBehaviour
    {
    public Text text;
    private string str = "*Unity文字逐字显示实现*";

    private float waitTime = 0.2f; //字符间隔

    private float speed = 0; //计时

#region 第一种方法实现
void Start()
{
    //StartCoroutine("Numerator");  //开启协程
}
IEnumerator Numerator()
{
    foreach (var item in str)
    {
        text.text += item;
        yield return new WaitForSeconds(waitTime);
    }
}
#endregion

#region 第二种方法实现
private void Update()
{
    //speed += 0.2f;     //直接加等于也可以      亲测可用
    speed += Time.deltaTime * 10f;   //感觉慢就乘上一个数

    text.text = str.Substring(0, (int)speed + 1);

    //Substring 逐个增加字符串的数量   vs 可按F12自行查看

}
#endregion

}
```

相关文章
|
10月前
|
Web App开发
喂~讲真~我很讨厌chrome谷歌浏览器的默认填充输入框input样式咧,敲击讨厌滴啦,怎么去掉介个样式尼
喂~讲真~我很讨厌chrome谷歌浏览器的默认填充输入框input样式咧,敲击讨厌滴啦,怎么去掉介个样式尼
用MASM32编程截取屏幕
用MASM32编程截取屏幕
|
9月前
|
Python
【随手记】贴一段matplotlib绘图的多图拼接代码
【随手记】贴一段matplotlib绘图的多图拼接代码
76 1
|
10月前
|
存储
46.编写程序在屏幕上显示如下图形
46.编写程序在屏幕上显示如下图形
66 2
|
编译器 C++ 计算机视觉
VS+OpenCV字符动画ikun打篮球
VS+OpenCV字符动画ikun打篮球
173 0
|
存储 JSON 移动开发
基于Qt的网络音乐播放器(五)实现歌词滚动显示
基于Qt的网络音乐播放器(五)实现歌词滚动显示
“想玩点花式?” 试试快捷键操作编辑器吧(Unity3D)
在使用Unity中可能需要使用快捷键执行一些操作,或者修改Unity自带的快捷键,接下来就看一下,如何设置自定义快捷键吧
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
搜狗输入法:候选词带符号设置方法。正常打字打出符号,颜文字。
搜狗输入法:候选词带符号设置方法。正常打字打出符号,颜文字。
593 0
搜狗输入法:候选词带符号设置方法。正常打字打出符号,颜文字。