【问题标题】:Handling Input in GLFW for a Small Engine在 GLFW 中处理小型引擎的输入
【发布时间】:2016-08-27 22:56:21
【问题描述】:

在使用learnopengl.com 的小型引擎上工作,但过了一段时间,我仍然想不出处理输入的最佳方式。

当然,我可以按照指南使用它们的功能:

void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
    if(key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
        glfwSetWindowShouldClose(window, GL_TRUE);
}   

但是,我正在寻找一种更简单的方法:

if(key_a.isPressed)
{
    ...
} 

另一个挑战是能够在类的不同区域使用该代码,而不是将所有输入都塞入该 key_callback 函数中。

我是 C++ 的新手,可能只有几个月的经验,但我绝对不是新手

【问题讨论】:

    标签: c++ opengl input glfw glew


    【解决方案1】:

    您可以使用glfwGetKey 来获取特定键的状态。

    int state = glfwGetKey(window, GLFW_KEY_A);
    

    【讨论】:

    • 请注意,除非您已激活 GLFW 的粘滞键模式,否则如果按键按下和释放速度足够快,您可能会错过按键操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2018-03-19
    • 1970-01-01
    • 2011-04-03
    • 2015-10-20
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多