Appearance
第04回 ビジュアルノベル1
Canvas上に背景、立ち絵、会話ウィンドウを配置し、本文を一文字ずつ表示します。ゲームの進行をUIの状態として管理する方法を学びます。
この回のゴール
- CanvasとRectTransformで会話画面を構成する
- 本文を一文字ずつ表示し、表示中の入力を制御する
- 表示完了後の入力で次の文章へ進む
- 会話表示中と入力待ちを別の状態として説明できる
今回のポイント
文字送りは、文字列を表示するだけではなく、表示中、完了、次へ進む、という時間と入力の管理です。入力の連打で文章を飛ばさないこともゲーム状態の一部として扱います。
授業の流れ
1 / 4会話画面を配置するCanvas上へ背景、立ち絵、会話ウィンドウを配置し、画面の責任範囲を決める2 / 4文字送りを実装する本文を一文字ずつ表示し、表示完了を検出する3 / 4入力待ちと次の文章を分ける表示中、表示完了、次の文章へ進む状態を入力で正しく切り替える4 / 4会話画面の状態を確認する会話の開始、表示、入力待ち、終了を状態として整理する
配布プロジェクト(ドラフト)
背景、立ち絵、会話ウィンドウ、仮の台詞、TextMeshProの設定済みCanvasを配布します。
今回実装する範囲
| 区分 | 内容 |
|---|---|
| 自分で実装する処理 | 文字送り、表示完了、入力待ち、次の文章への進行 |
| 実装済みの機能を利用する処理 | Canvasレイアウト、画像差し替え、TextMeshPro |
| 後の回で扱う処理 | 外部台本、選択肢、分岐、画面演出 |
完成確認
- 文章が一定間隔で表示される
- 表示中の入力で文章が不自然に二重進行しない
- 表示完了後の入力で次の文章へ進む