Arbor2のUISetTextFromParametersで書式指定してテキスト表示する
ゲームエンジンUnityのステートマシンエディタアセットArbor 2 を使って
UIのテキストに書式指定で値を表示しようとしてちょっと手間取った話です。
手っ取り早く方法だけ知りたい方は
「UISetTextFromParametersのBehaviorで書式指定方法はToString()メソッドと同じ」
だけ覚えておけばおっけーです!
(stringの書式指定はstring.formatの{0:F2}とかしか使ったことなかったので時間がかかってしまったのです)
Arbor 2はステートマシン(こういう時、こういう条件を満たしたらこれをするというのを図で表したもの)を使ってゲームの挙動が作れる便利アセットです。
作ったステートマシンはUnity Editorでのテスト中にステートの遷移が視覚的にわかるのでうまく使えばバグの少ないゲームづくりができそうです(。・ω・。)
今回の記事で紹介するのはArbor 2のState Behaviorの「UISetTextFromParameters」で書式指定してテキストを表示する方法について。
Arbor 2では挙動をコントロールしたいゲームオブジェクトにFSM (Finite State Machine)を追加して、FSMの各ステートでのふるまい (Behavior)を管理します。
利用できるBehaviorは様々あって、必要であればコードを書いて自作もできます。
UISetTextFromParametersは名前の通りUIのテキストにArbor 2で管理しているパラメータの値を表示するBehaviorで、プロパティはリンクの通り。
UISetTextFromParameter — Arbor リファレンス 2.1.2 ドキュメント
Formatを使えば書式指定できるみたいですが、書式指定の方法についてとくに書いてなくって初心者は詰まってしまいました。
UISetTextFromParametersでどのようにFormatが指定されてるかソースコードを見てみるとParameterで与えた変数のToString()メソッドに引数としてFormatを与えているようです(ソースコードは載せていいのかわからなかったので載せてません)。
ToString()メソッドでの書式指定についてはこちらが参考になりました。
ということでいまいち締まらないけどこんな感じで記事は終わりです。
書いてるうちにうまくなっていくと信じたいところですね...( -v- 。)