改变GLUT中的鼠标位置?

时间:2012-05-29 19:44:52

标签: objective-c macos mouse glut

我正在尝试用鼠标旋转相机。移动它不是问题,但我需要把它放在一个地方。我已经尝试过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();

2 个答案:

答案 0 :(得分:0)

在OS X上

glutWarpPointer应该非常快;你在哪个地方打电话给你?

有时也可以强制调用glutPassiveMotionFunc,所以要小心。

答案 1 :(得分:0)

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