我想在opengl C++中製作2D遊戲。 我想用鼠標移動來打一個三角形。因此我首先繪製三角形。到目前爲止,當我移動鼠標時,我成功地製作了三角形滾動條。如何使用鼠標在C++ opengl中滾動對象:
我用這兩條線:
case WM_MOUSEMOVE:
X += (GLfloat)LOWORD(lParam);
,然後在我的繪圖功能,我這樣做:
glTranslatef(x,0.0f,0.0f);
所以三角形用鼠標移動來移動爲止。但問題是,當我向左移動鼠標時,我希望它向左移動,向右移動鼠標時向右移動。
無論我如何移動鼠標,三角形都向右移動,從不離開。 即使我向上或向下移動鼠標,它也會向右移動。
我該如何解決這個問題?
我猜測你正在使用的座標系意味着+ =總是會加上一些正值,因爲屏幕的左手邊將從0開始。試試這個。 保存它的最後一個位置(比如xPrev)。移動鼠標,獲得新的x值(比如xCurrent)。 xCurrent - xPrev應該告訴你哪個方向移動三角形,以及多少。 –