(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


Text Animatorで文字送り中に全文表示する方法、文字送り中かを判定する方法【Unity】【アセット】【Text Animator】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2022.3.32f1


はじめに

以前テキストにアニメーションを追加したり、


文字送り(文字を最初から順番に表示する)を実装出来たりする、


Text Animatorというアセットを紹介しました。

Text Animator for Unity - Unity Asset Store


今回はこのText Animatorで

「ボタンを押した(タップした)時に、文字送り中なら全文表示する」

「ボタンを押した(タップした)時に、文字送りが終わっていたら次のテキストを表示し始める」

というノベルゲームなどでよくあるやつを実装する方法の紹介です!




Text Animatorで文字送り中に全文表示する方法、文字送り中かを判定する方法

さっそくですが、文字送り中に全文表示するには

TypewriterByCharacter(またはTypewriterByWord)のSkipTypewriterというメソッドを使います。


さらに文字送り中かを判定するには、isShowingTextというフラグを使います。


この2つを合わせて以下のような感じにすれば、

// 現在文字送り中かどうかを確認、文字送り中なら全文を表示
if (typewriterByCharacter.isShowingText) {
  typewriterByCharacter.SkipTypewriter();
}
//新たに文字送りを開始
else {
  typewriterByCharacter.ShowText("次のテキストの文字送りを開始"); 
}


「ボタンを押した(タップした)時に、文字送り中なら全文表示する」

「ボタンを押した(タップした)時に、文字送りが終わっていたら次のテキストを表示し始める」

が実装できます。


余談ですが、StopShowingTextという

文字送りを止めて、表示していたテキストを残すメソッドもあります。