teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/02/11 08:45

投稿

fiveHundred
fiveHundred

スコア10450

answer CHANGED
@@ -9,4 +9,26 @@
9
9
 
10
10
  とあるので、EventType.KeyDownとEventType.KeyUpの両方で実行されているため、二重に入力されているのだと思います。
11
11
 
12
- EventType.KeyUpの影響を受けない[Event.character](https://docs.unity3d.com/ja/current/ScriptReference/Event-character.html)を使うか、[Event.type](https://docs.unity3d.com/ja/current/ScriptReference/Event-type.html)での判定を追加してください。
12
+ EventType.KeyUpの影響を受けない[Event.character](https://docs.unity3d.com/ja/current/ScriptReference/Event-character.html)を使うか、[Event.type](https://docs.unity3d.com/ja/current/ScriptReference/Event-type.html)での判定を追加してください。
13
+
14
+ ---
15
+
16
+ 追記:
17
+
18
+ > 以下にようにstring型に変換した上で格納しているつもりなのですが、
19
+ > 格納されておらず、デバッグログで表示しても空になっています。
20
+
21
+ こちらで確認してみたところ、「a」を押下すると、ヌル文字→aの順に出力されているみたいでした。
22
+ なぜヌル文字が出ているのかが分かりませんが、以下のようにヌル文字を無視することで表示はされるようになるので、これで試してみてください。
23
+
24
+ ```C#
25
+ void OnGUI()
26
+ {
27
+ Event e = Event.current;
28
+ if (e.type == EventType.KeyDown && e.character != '\0')
29
+ {
30
+ Debug.Log("Detected key code: " + e.character);
31
+ Word += e.character;
32
+ }
33
+ }
34
+ ```