csharp 1文字ずつ表示する。タイピング音も鸣らす

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 1文字ずつ表示する。タイピング音も鸣らす相关的知识,希望对你有一定的参考价值。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// 1文字ずつ表示する。タイピング音も鳴らす
/// </summary>
public class TypeWriter : MonoBehaviour
{
    [SerializeField] Text text = default;
    [SerializeField] float span = 0.2f;
    [SerializeField] float delay = 0.5f;
    [SerializeField] bool playOnAwake = true;
    [SerializeField] bool mute = false;

    private AudioSource aud;
    private string sentence;
    private Coroutine coroutine;

    private void Awake ()
    {
        aud = GetComponent<AudioSource> ();
        sentence = text.text;
        text.text = string.Empty;

        if ( playOnAwake ) StartTyping ();
    }

    public void StartTyping ( float delay, float span )
    {
        if ( coroutine != null ) return;
        coroutine = StartCoroutine ( Typing ( delay, span ) );
    }

    // 引数省略版
    public void StartTyping () => StartTyping ( this.delay, this.span );
    public void StartTyping ( float delay ) => StartTyping ( delay, this.span );

    private IEnumerator Typing ( float delay, float span )
    {
        yield return new WaitForSeconds ( delay );

        for ( int i = 0 ; i < sentence.Length ; i++ )
        {
            text.text += sentence[i];
            if ( !mute ) aud.Play ();
            yield return new WaitForSeconds ( span );
        }
    }
}

以上是关于csharp 1文字ずつ表示する。タイピング音も鸣らす的主要内容,如果未能解决你的问题,请参考以下文章

markdown 网络スクレイピングした内容を喋らせ,适切にファイル分割する

python 中央竞马(JRA)の予想対象レースの情报をスクレイピングする的Pythonスクリプト

python スポーツナビ竞马ページとnetkeiba.comから中央竞马データをスクレイピングする的Pythonスクリプト

python スポーツナビ竞马ページとnetkeiba.comから中央竞马データをスクレイピングする的Pythonスクリプト

ruby スクレイピングのテストhttp://www.absolute-keitarou.net/blog/?p=634

css jQuery的で文字列を1文字ずつ表示する