ほとんどの場合,UnityはGUI要素のキーボード入力を自動的にハンドリングしますがスクリプトからの要求によりキーボード表示するのも簡単です。
ユーザーが編集可能なGUI要素をタップしたときキーボードは自動表示されます。現在ではGUI.TextField, GUI.TextArea, GUI.PasswordField によりキーボードが表示されます。詳細については GUI クラス を参照下さい。
TouchScreenKeyboard.Open() 関数を使用してキーボードを開きます。この関数が使用する引数については TouchScreenKeyboard スクリプティング リファレンスを参照下さい。
キーボードは次の種類をサポートしています。
プロパティ: | 特徴: |
---|---|
TouchScreenKeyboardType.Default | 文字列。数字と記号のキーボードに切り替え出来ます。 |
TouchScreenKeyboardType.ASCIICapable | 文字列。数字と記号のキーボードに切り替え出来ます。 |
TouchScreenKeyboardType.NumbersAndPunctuation | 数字と記号。文字列のキーボードに切り替え出来ます。 |
TouchScreenKeyboardType.URL | スラッシュ記号と.com ボタン のついた文字列。数字と記号のキーボードに切り替え出来ます。 |
TouchScreenKeyboardType.NumberPad | 0 から 9 までの数字のみ。 |
TouchScreenKeyboardType.PhonePad | 電話番号を入力するためのキーボード。 |
TouchScreenKeyboardType.NamePhonePad | 文字列。電話番号を入力するためのキーボードに切り替え出来ます。 |
TouchScreenKeyboardType.EmailAddress | @ 記号のついた文字列。数字と記号のキーボードに切り替え出来ます。 |
デフォルトでは,キーボードが表示された後に編集ボックスが作成されてキーボードの上に配置されます。ユーザが入力しているテキストのプレビューとして動作し,ユーザはテキストを常に見ることができます。しかし,テキスト プレビューを無効化するには TouchScreenKeyboard.hideInput を true にします。特定のキーボードの種類および入力モードでのみ動作することに留意下さい。例えば,電話キーパッドや複数行テキスト入力では動作しません。そういったケースでは,編集ボックスは必ず表示されます。 TouchScreenKeyboard.hideInput はグローバル変数で全てのキーボードに影響します。
TouchScreenKeyboard には3つのキーボード プロパティにより,キーボード のVisibilityステータスおよび画面上のサイズを決定します。
プロパティ: | 特徴: |
---|---|
visible | キーボードが完全に画面に完全に表示されていて,かつ文字列が入力できる場合にtrue を返します。 |
area | キーボードの位置と寸法を返します。 |
active | キーボードが有効化されている場合にtrue を返します。このプロパティは static プロパティでありません。キーボードのインスタンスがないとこのプロパティを使用できません。 |
TouchScreenKeyboard.area は,キーボードが完全に画面で表示されるまで,位置およびサイズがゼロにセットされた rect を返すことに留意して下さい。 TouchScreenKeyboard.Open の直後に値をクエリーすべきではありません。キーボードイベントのステップは次のとおりです:
キーボード入力が行われるときに入力した文字を隠すことが可能です。これはユーザがセンシティブ情報(パスワードなど)の入力を求められたときに便利です。キーボードをセキュリティのかかったテキスト入力を有効化して,手動でキーボードを開くためには,次のコードを使用します:
TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);
キーボードで,通常の不透明な背景ではなく,部分的に透明で黒い背景としたい場合,次のように TouchScreenKeyboard.Open を呼び出します:
TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true, true);