タイピングゲームを作りたいと思い、キー入力についていろいろ調べました。
OnGUI()を使って検知することが分かりました。
しかし、実際に下記のようにコードを打って、試してみると、
検知はできたものの、2文字続けて検知されてしまいます。
例えば、Aと入力すると、テキストオブジェクトの文字が
AAとなってしまいます。
これをAと入力したらAとなるようにしたいのですが、
どうすればよいのでしょうか?
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6 7public class Test : MonoBehaviour 8{ 9 public Text text; 10 string InputKey; 11 string Word; 12 char c; 13 14 // Start is called before the first frame update 15 void Start() 16 { 17 18 } 19 20 // Update is called once per frame 21 void Update() 22 { 23 text.text = Word; 24 } 25 26 void OnGUI() 27 { 28 Event e = Event.current; 29 if (e.isKey) 30 { 31 Debug.Log("Detected key code: " + e.keyCode); 32 if (e.keyCode.ToString() != "None") 33 { 34 InputKey = e.keyCode.ToString(); 35 c = InputKey[0]; 36 Word += c; 37 } 38 } 39 } 40}
OnGUI()は古い機能で、今から使うのはおすすめできません。
回答1件
あなたの回答
tips
プレビュー