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