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

質問編集履歴

1

文章を修正しました。

2021/06/21 02:43

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,22 +1,54 @@
1
- 提示コードですがchrはVectorのchar型変数です。windowContext->InputKeyBoard();関数は押されたキーの値を返す関数でキーをしても最後のキーが押された値が返ってきます。
1
+ 提示コードですがchrはVectorのchar型変数です。getInputChar()関数は押されたキーの値を返す関数でキーをしても最後のキーが押された値が返ってきます。
2
2
 
3
3
  質問内容 「 テキスト入力を行うにはどうすればいいのでしょうか?参考サイトを調べましたが三つの入力関数のうちどれを使ってもテキスト入力を実現できません。 」
4
4
 
5
5
  参考サイト: http://ggkuron.hatenablog.com/entry/2012/05/12/090
6
6
  公式リファレンス: https://www.glfw.org/docs/3.3/input_guide.html
7
7
 
8
+ ```cpp
9
+
10
+ std::vector<char> string(0);
11
+ char str[1000] = { '\0' };
8
12
 
13
+ while (*window)
14
+ {
15
+ window->FrameUpdate(glm::vec4(0.0f, 0.0f, 0.0f, 255.0f));
9
16
 
10
- ```cpp
17
+
11
- //更新
12
- void Title::Update()
18
+ unsigned int n = window->getInputChar();
19
+
20
+ std::cout << n << std::endl;
21
+
22
+ if (n != 0)
13
- {
23
+ {
14
- if (windowContext->InputKeyBoard() != 0)
24
+ if (string.size() > 0)
15
- {
25
+ {
26
+ string.erase(string.end() - 1);
27
+ string.push_back(n);
16
- chr.push_back((char)windowContext->InputKeyBoard());
28
+ string.push_back('\0');
29
+
30
+ }
31
+ else
32
+ {
33
+ string.push_back(n);
34
+ string.push_back('\0');
35
+ }
36
+
37
+ n = 0;
38
+ }
39
+
40
+ if (string.size() > 0)
41
+ {
17
- printf("%s\n", chr.data());
42
+ strcpy_s(str, string.size(), string.data());
43
+ }
44
+
45
+ FrameWork::DrawFormatString(glm::vec2(100, 100), glm::vec4(0, 255, 0, 255), 100, "%s", str);
46
+
47
+
48
+ window->Wait();
49
+ window->SwapBuffers();
18
50
  }
19
51
 
20
- }
21
52
 
53
+
22
54
  ```