【发布时间】:2012-11-08 17:53:28
【问题描述】:
我正在尝试使用 OpenGL 检测水平鼠标运动,因此,当检测到时,执行 glutPostRedisplay()。问题是场景也会在鼠标垂直移动时重绘。
这是注册回调的代码(注意 mouse_inix 和 mouse_iniy 是全局(双)变量):
void mouse(int button, int state, int x, int y)
{
if (state == GLUT_DOWN) {
mouse_inix = (double)x;
mouse_iniy = (double)y;
}
}
void motion(int x, int y)
{
if (((double)x) != mouse_inix) {
angle += 20.0;
glutPostRedisplay();
}
}
【问题讨论】: