0 支持
214 閲覧
皆様、お世話になります。

自分なりに調べましたが解決できないため、投稿させていただきます。

================================

「シーン名A」というシーンに、GameObjectを作成。

そこに、スクリプトAをアタッチ。

そのスクリプトAに、TouchScreenKeyboard.Open("",TouchScreenKeyboardType.Default);を追加。

ファイル > ビルドして実行 で、スマホ実機にて、キーボードが表示されているのを確認しました。その後、そのスクリプトに、例えば、10秒後に、「SceneManager.LoadScene("シーン名B");」を行うようにしておきます。

そして、「シーン名B」にもGameObjectを作成、スクリプトBをアタッチには、画面をタップすれば「シーン名A」に戻る(SceneManager.LoadScene("シーン名A");)という処理をいれます。

困っている事

ファイル > ビルドして実行 で、スマホ実機にて、「シーン名A」が実行され、キーボードが表示されます。そこで、「テスト」などを入力し、「完了」ボタンを押さずにそのまま、10秒かかるのを待機し、「シーン名B」へ移動します。「シーン名B]へ移動したら、タップして、「シーン名A」へ移動します。そうすると、「シーン名A」では、「TouchScreenKeyboard.Open("",TouchScreenKeyboardType.Default);」を行っているのですが、キーボードが表示してくれません。キーボードを表示するにはどうすれば良いのでしょうか?

確認したこと

・トラブル発生時、TouchScreenKeyboard.visible は、1(表示)のままでしたが、画面には、キーボードが表示されているように見えません。また、TouchScreenKeyboard.area は、シーン移動前と同じで、0でした。

・シーン移動前に、キーボードで、例えば「テスト」と入力し、キーボード上の「完了」を押して、キーボードの入力を完了させた後で、シーンを移動して、戻ってきた際は、「TouchScreenKeyboard.Open」で、キーボードを表示できます。

================================

初歩的なことかもしれません。皆様のお力を借りたいです。よろしくお願いいたします。

Unityバージョン: 2019.4.14f1

プラットフォーム:Android
閉鎖
初心者 (190 ポイント) | 214 閲覧

回答 1

0 支持
ベストアンサー
自力で解決できました!

シーンを移動する前に、

this.keyboard.active = false; を追加する必要がありました。

どうやら、Activeになっているキーボードを入力途中で、シーン移動した場合、キーボードをfalse(非表示)してシーン移動してやり、その後、シーンを戻ってきた後、もう一度、TouchScreenKeyboard.Openで、モバイルキーボードが再表示されました。

ご協力ありがとうございました。
初心者 (190 ポイント)

関連する質問

0 支持
1 回答
teis1n 初心者 (120 ポイント) 2020 10/2 質問 | 156 閲覧
0 支持
1 回答
+4 支持
0 回答
ないち(管理人) 達人回答者 (7.3k ポイント) 2020 7/27 質問 | 425 閲覧
0 支持
1 回答
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

154 質問

151 回答

158 コメント

186 ユーザー