はじめに
TextMesh Pro でタイプライターのように 1 文字ずつ表示できる
「TMP_Typewriter」を GitHub に公開しました(リッチテキスト対応、DOTween 必須)
開発環境
- Unity 2018.3.0f2
- TextMesh Pro 1.3.0
- DOTween 1.2.055
使い方
- こちらから .unitypackage をダウンロードして Unity プロジェクトにインポートします
- 「TMP_Typewriter」を TextMesh Pro のゲームオブジェクトにアタッチします
using KoganeUnityLib;
を追加してTMP_Typewriter.Play
関数を呼び出します
使用例
1 文字ずつ表示
// 1 文字ずつ表示する演出を再生 m_typewriter.Play ( text : "ABCDEFG HIJKLMN OPQRSTU", speed : m_speed, onComplete : () => Debug.Log( "完了" ) );
1 文字ずつ表示(リッチテキスト対応)
// 1 文字ずつ表示する演出を再生(リッチテキスト対応) m_typewriter.Play ( text : @"<size=64>ABCDEFG</size> <color=red>HIJKLMN</color> <sprite=0> <link=""https://www.google.co.jp/"">OPQRSTU</link>", speed : m_speed, onComplete : () => Debug.Log( "完了" ) );
1 文字ずつ表示(スプライト対応)
// 1 文字ずつ表示する演出を再生(スプライト対応) m_typewriter.Play ( text : @"<sprite=0><sprite=0><sprite=1><sprite=2><sprite=3><sprite=4><sprite=5><sprite=6><sprite=7><sprite=8><sprite=9><sprite=10>", speed : m_speed, onComplete : () => Debug.Log( "完了" ) );
スキップ
// 演出をスキップ(onComplete は呼び出される) m_typewriter.Skip(); // 演出をスキップ(onComplete は呼び出されない) m_typewriter.Skip( false );
一時停止・再開
// 一時停止 m_typewriter.Pause(); // 再開 m_typewriter.Resume();
その他
文字単位で演出を実装している場合も正常に動作します