鼠标输入 |
简介
在很多程序中你需要中你需要处理鼠标的输入。本教程将说明如何捕获窗口发出的鼠标消息。如果您使用GLUT|ES, 请咨询 GLUT 如何捕获鼠标输入,程序代码是类似的。另外,您可以下载此页面底部的示例源代码。
第一步是建立一个函数,这个函数将用来处理所有鼠标输入。此函数包括如下参数。
第一个参数是一个ugwindow类型变量
第二个参数是整数。表示哪个按钮被按下。它的值可以是UG_BUT_LEFT, UG_BUT_MIDDLE 或者UG_BUT_RIGHT.
第三个参数,还必须为整数。表示按钮的状态。这个状态可以是UG_BUT_DOWN 和 UG_BUT_UP,当鼠标按钮被按下和松开时发出。
第四次和第五次参数也是整数。这表示鼠标按键按下时指针的x和y值。
void pointer(UGWindow uwin, int button, int state, int x, int y)
{
如果鼠标按键被按下则退出
exit(0);
}
窗口需要知道我们使用哪个函数处理鼠标按键。因此我们我们按照ugDisplayFunc函数一样调用 ugPointerFunc 函数。
这个函数使用 OpenGL 窗口的句柄作为它的第一个参数,pointer 函数作为它的第二个参数
ugPointerFunc(uwin, pointer);
你现在应该能处理鼠标消息了。如果你运行这个程序,你还是看不到任何图像,但是你可以通过鼠标点击屏幕,按q键或者向上键退出程序。
| GLUT|ES Source Files : | ![]() | |
| UG Source Files : | ![]() |
本教程介绍如何在程序中处理鼠标输入。通过定义一个处理函数,该函数接收鼠标按键信息并作出响应。示例代码展示了如何设置函数以捕获鼠标事件。

3万+

被折叠的 条评论
为什么被折叠?



