現フレームでキーボードで入力された文字を返します(読み取り専用)
ASCII 文字のみが inputString
に含まれます。
文字列は特殊文字をハンドルする必要があります:
Character "\b"
represents backspace.
Character "\n"
represents return or enter.
// Reading typed input from the keyboard // (eg, the user entering their name). // You need to attach this script to an object with // a GUIText component.
var gt: GUIText;
function Start() { gt = GetComponent.<GUIText>(); }
function Update () { for (var c : char in Input.inputString) { // Backspace - Remove the last character if (c == "\b"[0]) { if (gt.text.Length != 0) gt.text = gt.text.Substring(0, gt.text.Length - 1); } // End of entry else if (c == "\n"[0] || c == "\r"[0]) {// "\n" for Mac, "\r" for windows. print ("User entered their name: " + gt.text); } // Normal text input - just append to the end else { gt.text += c; } } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GUIText gt; void Start() { gt = GetComponent<GUIText>(); } void Update() { foreach (char c in Input.inputString) { if (c == "\b"[0]) if (gt.text.Length != 0) gt.text = gt.text.Substring(0, gt.text.Length - 1); else if (c == "\n"[0] || c == "\r"[0]) print("User entered their name: " + gt.text); else gt.text += c; } } }