12/12/14 17:15:00.70 FJG4GO7d
Memo : テキスト入力を取得可能にするopentextinput
OBSE20/21では意地悪仕様になっているのを確認。
まずドキュメントには普通のMessageBoxのようにPressedButtonを取得できるように書いていますが、「Objectスクリプト以外では機能しない」と言う制約があります。
というのも入力を取得し反映する、UpdateTextInputは
Begin MenuMode 1001
End
の中でしか働かない為
さらに、MessageBoxEx型で開いたOpenTextInputプロンプトが開いている間は
GetButtonPressedは-1の値しか返しません。
つまり、MessageBoxEx型だからといって選択肢を作っても、選択を取得できずに無意味になります。
詰まるところ、どうするかと言うと、とにかく選択肢をつけない。(か一つにする)
つけないとFinishedという選択肢だけつきます。ユーザがそれを押して閉じると、
フリーズしていたBegin GameModeが動き出すので、ここでGetTextInputでデータを取得し
CloseTextInputで初めてGetButtonPressedが-1以外の値を反映するようになるので、
「XXXという入力でいいですか?」というMBExを出して、最初に使いたかった選択肢を出すなりする必要があります。