複数人が登場するテキストボックスを実装しました。
キャラがいっぱい出てくるゲームによくあるやつですね。ダミー文は適当。
まだモックができてないから後回し~…なんてやってたんですが、
作りたくなったから作っちゃった。テヘヘ
書きながら気づいたけど、立ち絵の描画順!これじゃダメですね!
端の方にいる人ほど手前&発言者が常に最前に来るようにしないといけないな。
次回の報告までに直します。
文章は、一般的なゲームよりもかなり高い位置に出しています。かつ一行が短い。
これは単に、想定されるプレイスタイル
・22~27インチ程度のPCモニタでフルサイズ表示
・目からモニタまでの距離は60~80cm)
においては、この辺りの位置にこれぐらいの幅で文章があるのが一番読みやすいと感じたからです。
車なんか運転してるとよくわかりますが、人間の視野の内、わざわざ注視しなくてもダイレクトに意識に飛び込んでくる範囲(有効視野というそうです)はそんなに広くないですよね。だから、せいぜいこれくらいでしょう。
理屈っぽい長文書いちゃうタイプの人間の作るゲームなら、なおのこと。
え?運転下手そうって?そうだけど?

名前欄は中央上部。今はとりあえずダミー文が入ってます。♰ONAMAE♰
いや…普通はさ、そのキャラがいる側に名前札みたいなのが出るじゃないですか。場合によっては左や右に名前札が出るような、凝ったUIもあるわけじゃないですか。
でもさ…なくてもよくないですか、名前札。ということで普通に文章の中に紛れています。
あと位置も中央固定で良くないですか、同時に一人しか喋らない設計なら。
構造といたしましては、ちょっとめんどくさいバケツリレー。

①まず、テキスト・テキストボックス・立ち絵で構成された
テキストボックスのオブジェクトがあり!

②次に、JSONファイルの内容をテキストボックス用のデータに変換する関数があり!

③最後に、テキストや立ち絵といった、会話文ごとに異なる要素をそれぞれ司るコンストラクタが、テキストボックス用のデータを基に、テキストボックスのオブジェクトに
😏テキスト担当:「『自らの考え方が正常なものだと思いたがるのは~』という文章を表示してくれ」
😯立ち絵担当 :「2番目の立ち位置に青い人がいて、明るく表示されてるよ!7番目の立ち位置に赤い人がいて、暗く表示されてるよ!」
という内容のデータを送り、それを受け取ったテキストボックスのオブジェクトが「よっしゃ文はこれだな!立ち絵はこうだな!」と意気込んで、文や立ち絵を表示するという塩梅でございます。
同時に立ち絵を描画できるキャラは8人までと決めて設計。
JSONファイルに長さ8の配列を打ち込み、立ち絵(sprite)と、そのキャラを明るく表示するかどうかをそれぞれ指定する。

まるで読ませる気のないコード
GUI描画イベントにて、左から8人分の位置座標を指定しておき、そこにJSONファイル内の配列が指定したスプライトをはめ込んでいく。立ち絵が明るいか暗いかも、対応する配列で指定する。
例えば、こんな感じで指定すると:
立ち絵配列=[なし, 青い人, なし, なし, なし, なし, 赤い人, なし];
明るさ配列=[NO, YES, NO, NO, NO, NO, NO, NO];

こうなるわけですね。
あとFOEも作りました。鳥さん!
(当たり判定とか挙動とか、まだ色々ガバいんですけど)