glutMouseFunc上没有滚轮回调

时间:2015-12-30 22:44:44

标签: c++ windows glut freeglut scrollwheel

最近我一直在编写一个关于C ++和GLUT的简单程序,我想使用滚轮来增加/减少一些转速。我发现滚轮产生3/4回调(3向上滚动4向下滚动)。我的问题是在Windows上我根本没有回调!左右鼠标和鼠标中键单击生成0,1和2,但滚轮没有任何内容。 (我在Visual Studio 2015和Windows 10上工作)在我的Ubuntu系统上使用相同的库滚动轮生成回调就好但在Windows上没有任何东西。这是我在glutMouseFunc()

上使用的代码
void setRotationSpeed(int button, int dir, int x, int y)
{
    printf("button is %d\n", button);
    if (button == 3)
    {
        rotationSpeed += 0.1;
    }
    if (button == 4)
    {
        if (rotationSpeed > 0.0)
            rotationSpeed -= 0.1;
    }
}

我没有运气就搜索过了。起初我认为也许我使用的库有问题,但后来我拿了我在Ubuntu上使用的那些,我有同样的问题,所以如果有人有什么建议我会非常感激!

1 个答案:

答案 0 :(得分:0)

不幸的是,不能保证glutMouseFunc会发出轮回动作的回调,检查GLUT规范,它在Linux上运行的事实超出了GLUT规范。我认为之前有类似于glutMouseWheelFunc的东西,现在没有选项可以得到关于wheel的任何回调,这不是特定于实现的。 您仍然可以尝试使用FreeGLUT库,它更新,也可以跨平台,确保实现轮动作。 祝好运。