我正在根据鼠标位置旋转我的相机。但是,只有在鼠标左键或右键关闭的情况下,我才会激活此功能。这个代码的问题是我必须释放并再次按下该程序才能注意到我移动了鼠标。GLUT鼠标位置不更新
当使用键盘按键并移动它的鼠标它工作。
试图glutPostRedisplay,但我不知道是否它是我需要或如何使用它。
void processMouse(int button, int state, int x, int y) {
if (state == GLUT_DOWN) {
if (button == GLUT_LEFT_BUTTON) {mouseM=true;} if (button == GLUT_RIGHT_BUTTON) {mouseN=true;}
} if (state == GLUT_UP){ if (button == GLUT_LEFT_BUTTON){mouseM=false;} if (button == GLUT_RIGHT_BUTTON) {mouseN=false;} }
}
void mouseMove(int x, int y){
if (x < 0) angleX = 0.0; else if (x > w) angleX = 180.0; else //angleX = 5.0 * ((float) x)/w; angleX = (x-320)/50; angleZ = angleX; angleY= (y-240)/50;
}
我不是你的意思,你能告诉我一些简单的伪代码描绘任何机会,完全肯定它? – snackbar 2010-12-24 00:07:33