超短編ノベルゲーム制作 Part.3 オートとログ

UE5 作ってみたVisual Novel,Widget

オードモードとバックログ機能を追加したのでメモ。
セーブとロードは奮闘中。
ボタンは作ってあるけどオプション機能は最後に作る予定。

オートモード機能

上段は、Do Autoが呼び出されたときにオートモードがONなら少し待ってメインストーリーを進める。
下段は、ボタンが押されるかAキーが押されたらオートモードのON/OFFを切り替える。
一応ONの間はボタンの色を変えてみた。
ONにした後にDo Autoを呼んでいるのは、文章の最後でONにした時に進まないから。
Do Autoを呼び出す位置は、ループが終わるところ。
変更箇所は最後にまとめて図解。

バックログ機能

上段と中断は、どちらもText Boxにログを追加するだけ。
違いは挟む改行数で、名前表示の時は2回、文章表示の時は1回改行している。
下段は、ボタンが押されるかLキーが押されたらバックログパネルの表示非表示を切り替えている。
表示中は文章を進められないようにGame Pausedフラグで制御。
Scroll to End使うことで表示時に直近の文章が表示される。
ログエリアはScroll Boxの上にBorderで背景を作って、その上にText Boxを置いている。

変更箇所

前の記事 からの変更箇所。

処理の最初の部分

赤丸部分がオートモード用に変更したところ。
クリックで進められるようにしていたけど、全てをMain Storyというカスタムイベントにしてクリック後に実行するように変更。
オードモードで実装したDo Auto処理でもMain Storyを実行することで自動実行できる。

青丸部分はバックログ用。
Game Pause中でなければ進められるようにしている。

他にも追加しているものがあるけど、それはまた別途。

名前セット部分

名前をセットするところでバックログにも名前をセットしている。

本文セット部分

本文のタイピング処理前にログにも本文をセット。
文章表記後に別の行にジャンプする際にはそこで次のループに入るので、オートモード処理を入れている。

選択肢処理部分

選択肢の選択後、選択した文章はバックログにセット。
その後は次のループに入るので、オートモード処理。

処理の最後の部分

最後にもオートモードの処理を入れて完了。

UE5 作ってみたVisual Novel,Widget