編集可能なGUI要素をタップしたとき自動表示される場合
InputNameTextField.cs
public class InputNameTextField : MonoBehaviour {
const int MAX_LENGTH = 4;
string inputtedName = "Name";
void OnGUI()
{
this.inputtedName = GUI.TextField(new Rect(Screen.width / 2 - 50, Screen.height * 1 / 3, 100, 20), this.inputtedName, MAX_LENGTH);
}
}
手動でキーボードを表示させて入力する場合
InputName.cs
public class InputName.cs: MonoBehaviour {
TouchScreenKeyboard keyboard;
string inputtedName = "Name";
// アタッチしているGameObjectに子オブジェクトとしてGUITextを作成している
Transform nameText;
void Start ()
{
// GUITextを見つける
this.nameText = gameObject.transform.Find("NameText");
// キーボードを表示する
this.keyboard = TouchScreenKeyboard.Open(this.inputtedName, TouchScreenKeyboardType.Default);
}
void Update()
{
if (this.keyboard.done) // キーボードが閉じた時
{
this.inputtedName = this.keyboard.text;
this.nameText.guiText.text = this.inputtedName;
}
}
}