Unity 对话系统:隐藏人物名字中 'b' 之间的文字

在 Unity 对话系统中,你可能需要在显示人物名字时,隐藏掉名字中 'b' 字母之间的所有文字,例如人物名字为 'Lilybab',实际显示出来是 'Lily'。

你可以通过修改 TypeText 方法来实现这个功能。以下是修改后的代码:

private IEnumerator TypeText(string text)
{
    int length = text.Length;
    bool isName = false;
    for (int i = 0; i < length; i++)
    {
        if (text[i] == 'b')
        {
            isName = !isName;
        }
        
        if (!isName)
        {
            dialogdata.text += text[i];
        }
        
        yield return new WaitForSeconds(0.07f);
    }

    isShowingComplete = true;
}

TypeText 方法中,我们新增了一个 bool 变量 isName,用于标记是否当前正在显示人物名字。当遇到 'b' 时,将 isName 取反,即切换显示人物名字状态。当 isNamefalse 时,才将对话内容添加到 dialogdata.text 中,实现了隐藏人物名字中 'b' 之间的文字。

使用方法:

  1. 将以上代码添加到你的 ChatPanel 类中。
  2. 在你的对话数据中,确保人物名字包含 'b' 字母。
  3. 运行游戏,你就可以看到隐藏了 'b' 之间的文字的效果。

注意:

  • 此代码仅适用于隐藏 'b' 字母之间的文字,如果你需要隐藏其他字母之间的文字,请修改代码中的 if (text[i] == 'b') 条件。
  • 此代码假设你的对话数据中,每个人物名字只包含一个 'b' 字母。如果有多个 'b' 字母,需要根据你的实际情况进行调整。

希望这篇文章能帮助你实现你的对话系统功能。

Unity 对话系统:隐藏人物名字中 'b' 之间的文字

原文地址: https://www.cveoy.top/t/topic/phZ5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录