编写自定义打字等待(C#)

通过使用“Text Animator for Unity”,你可以创建你自己的 自定义打字机等待,在字母之间设置不同类型的延迟以及更多功能。

circle-info

如果你想了解默认的打字机, 请在此阅读

circle-info

请务必已阅读 高级概念 页面。


添加自定义打字机等待

为了创建自定义打字机等待,你需要创建一个继承自的可脚本化对象类 Febucci.TextAnimatorForUnity.TypingsTimingsScriptableBase

下面是一个简单的示例脚本:

// 导入必要的 Febucci 命名空间
using Febucci.TextAnimatorCore;
using Febucci.TextAnimatorCore.Text;
using Febucci.TextAnimatorForUnity;

using UnityEngine;

[System.Serializable] // <--- 记得序列化你的 Scriptable!
[CreateAssetMenu(fileName = "Custom Typewriter Waits")]
class CustomTypingWaits : TypingsTimingsScriptableBase
{
    // --- 像平常一样在此处放置你的属性
    [SerializeField] float delay = .1f;
    
    // 显示文本时的自定义等待
    public override float GetWaitAppearanceTimeOf(CharacterData character, TextAnimator animator)
    {
        // 示例:跳过空格
        if (char.IsWhiteSpace(character.info.character))
            return 0;

        return delay;
    }

    // 文本消失时的自定义等待
    public override float GetWaitDisappearanceTimeOf(CharacterData character, TextAnimator animator)
    {
        // 在这种情况下,它与显示时相同
        return GetWaitAppearanceTimeOf(character, animator);
    }
}

circle-check
circle-exclamation

祝你在实现你自己的打字机时玩得开心 <3