清除openGL中的mouseclicks缓冲区

时间:2012-05-13 06:35:42

标签: opengl glut

我需要清除动画结束前发生的任何鼠标点击。之后只需要考虑鼠标点击。 我尝试在动画后启用鼠标功能,但考虑了动画期间发生的任何点击。 根据我的理解,有一个存储鼠标点击的缓冲区,在任何鼠标回调期间,它需要坐标和该缓冲区中存储的第一次点击的任何其他信息。所以我需要知道如何清除它。 我使用了fflush(stdin),但它没有清除键盘或鼠标缓冲区。 我使用windowsxp和c语言中的visualsudio2008编程。我也使用glut.h

1 个答案:

答案 0 :(得分:0)

  

我也使用glut.h

然后你不能。如果您正在制作动画,则可以处理(或选择不处理)任何消息。

您不应该通过在显示方法中循环 来制作动画。相反,你应该设置一个定时器回调或者调用glutPostRedisplay的东西,它将不断调用你的绘图方法。在此期间,如果您不想处理任何消息,则应忽略这些消息。