c - 在 C & GLUT 中获取用户鼠标点击的位置

标签 c mouse glut

我想将用户的鼠标点击位置存储在两个变量上

float x,y;

我在 C 中使用 openGL。我已经有一个使用 glut 的鼠标功能,但是当我尝试打印 x 和 y 时,它会给我类似 x = 134; 的值。 y = 150,而我的屏幕正交值介于 0 和 1 之间。

我想得到准确的点在那里画点。

最佳答案

您需要注册一个具有以下签名的鼠标回调函数:

void glutMouseFunc(void (*func)(int button, int state,
                                int x, int y));

有一个教程涵盖了一些基础知识 here

编辑:如果您希望将位置归一化 (0.0 - 1.0) 除以宽度和高度:

float x1 = x /(float) width;
float y1 = y /(float) height;

关于c - 在 C & GLUT 中获取用户鼠标点击的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13399021/

相关文章:

javascript - jQuery 处理焦点并单击一个元素

python - pyopengl 过剩输入

c++ - qt,使用freeglut,错误 'glutInit'

c - GluProject 未在 C 中显示准确的坐标

c - 列出 block 大小的问题

我可以通过为封闭结构分配更多空间来 "over-extend"数组吗?

c - 访问冲突读取位置 0xfdfdfdfd。 IN C

c++ - 来自 C++11 中 C99 的 fenv.h

c++ - Windows - 在 C++ 中读取鼠标的 dpi 设置

c# - 可以处理WP7.1 中的所有MouseMove 事件吗?