- 417 名前:名無しさんの野望 mailto:sage [2012/12/14(金) 17:15:00.70 ID: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を出して、最初に使いたかった選択肢を出すなりする必要があります。
|
|