0

我正在尝试用鼠标旋转相机。移动它不是问题,但我需要将它保存在一个地方。我试过 glutWarpPointer() 但它显着减慢了程序的速度。我正在尝试为某些东西编写引擎,并且不想使用和添加。

int diff = x - oldx;
oldx = x; rx += diff;
if (rx > 360) 
    rx = 0; 

if (rx < 0) 
    rx = 360; 

NSLog(@"%f",rx);
back = YES; 
glutWarpPointer(0, 0); 
glutPostRedisplay();
4

2 回答 2

0

它需要退出 GLUT,但您可以使用CGAssociateMouseAndMouseCursorPosition(false);它来使鼠标移动不会移动光标(视觉光标和事件中报告的绝对位置等都不会移动)。随后的鼠标事件具有不变的绝对位置,但包括适当的增量以提供移动。我不知道这些增量是否可以从 GLUT 访问。

于 2012-05-30T01:00:48.793 回答
0

glutWarpPointer在 OS X 上应该很快;你在你的程序中在哪里调用它?

它有时也可以强制glutPassiveMotionFunc被调用,因此请注意这一点。

于 2012-05-29T19:49:18.993 回答