0

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

4

1 回答 1

0

我也使用 glut.h

那你不能。如果您正在制作动画,则由来处理(或选择不处理)任何消息。

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

于 2012-05-13T07:17:00.357 回答