Я хочу перемещать трехмерный куб, удерживая нажатой левую кнопку мыши + перетаскивание мышью. удерживание левой кнопки мыши и перетаскивание мыши должно позволить пользователю перемещаться по орбите по горизонтали и вертикали. В настоящее время мой код позволяет отображать трехмерный куб, но он не вращается вокруг объекта, когда я щелкаю и перетаскиваю. Вот мой код:
void UMouseClick(int button, int state, int x, int y)
{
if((button == GLUT_LEFT_BUTTON) && (state == GLUT_DOWN)){
cout << "Left Mouse Button Clicked!" << endl;
currentClickLeft = true; // this is my global variable
}
if((button == GLUT_LEFT_BUTTON) && (state == GLUT_UP)){
cout << "Left Mouse Button Released!" << endl;
currentClickLeft = false;
}
void UMouseMove(int x, int y)
{
if(currentClickLeft == true && mouseDtected) {
lastMouseX = x;
lastMouseY = y;
mouseDetected = false;
mouseXOffset = x - lastMouseX;
mouseYOffset = lastMouseY - y;
lastMouseX = x;
lastMouseY = y;
mouseXOffset *= sensitivity;
mouseYOffset *= sensitivity;
yaw += mouseXOffset;
pitch += mouseYOffset;
front.x = 10.0f * cos(yaw);
front.y = 10.0f * sin(pitch);
front.z = sin(yaw) * cos(pitch) * 10.f;
}
В чем именно заключается проблема?
Кроме того, я новичок в этом языке программирования, поэтому, если я что-то не предоставил, дайте мне знать.