unity制作AVG 02——对话逐字显示,与快进

核心思路

先设一个bool型的变量来记录是否完全显示,再使用string.ToCharArray()将字符串转化为数组,然后逐字添加到Text组件上。当对话完全显示,bool值为true。当显示过程中被点击,则停止协程,直接显示全部Text组件

关键代码

   public IEnumerator TypeText(Text contentText, string content, float tpyeInterval = 0.075f)
    {
        contentText.text = "";
        foreach (char letter in content.ToCharArray())
        {
            contentText.text += letter;
            yield return new WaitForSeconds(tpyeInterval);
        }
    }

    public void OnClick()
    {
        if (isAllSet)
        {
            NextLine();
        }
        else
        {
            StopAllCoroutines();
            dialogContentText.text = content 
            isAllSet = true;           
        }
    }

实现效果

unity制作AVG 02——对话逐字显示,与快进_第1张图片
1.gif

你可能感兴趣的:(unity制作AVG 02——对话逐字显示,与快进)