2013年9月5日木曜日

アルゴリズム ゲームにおけるテキストの表示

どんなゲームでも文字列の表示はあるでしょう。...あるよね?
今回はノベルゲームで使われそうなテキストについて考える。

必要な機能

機能として必要そうなものを列挙する。
  • 文字列を表示する
  • 時間経過による表示の進行
  • ボタンを押されたことによる全表示処理
  • 上記の処理後のテキストの追加
最後の機能はテキストを全画面表示や、表示と表示の間になんらかの演出を挟むための。
分割ボイスを再生とか。

クラス設計

各機能に対して必要な関数やメンバはなにか。
まずはメンバ。
  • 文字列のテクスチャ。これは行ごとに持つ。追加にも対応できるはず。
  • 更新時間を計測するタイマ。
  • 1タイマにつき表示するテキスト量。
  • 全表示を完了しているか。テキストの役目が終了してることをメインフレームに伝える
あれ? こんなもん?
次は関数。というか必要な動作。
  • タイマに合わせて文字列の表示範囲を調整。
  • ボタンの入力を確認。
  • タイマにかかわらず全文字を表示する。あるいはタイマを強制繰上げ。
  • 文字列のテクスチャを追加する。タイマはリセットされない。
文字列の追加は行単位の細かいオブジェクトして追加でもいいかも。

これだけあれば行ける? まあ、開発していればいやでも足りないものは見つかるでしょう。

0 件のコメント:

コメントを投稿