我正在根據鼠標位置旋轉我的相機。但是,只有在鼠標左鍵或右鍵關閉的情況下,我纔會激活此功能。這個代碼的問題是我必須釋放並再次按下該程序才能注意到我移動了鼠標。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