有没有办法可以通过不使用glutMouseFunc()来检测鼠标点击位置?
我在网上找到的所有使用glutMouseFunc()点击鼠标的例子。但是,我不希望检测鼠标单击功能始终处于活动状态。我想在用户选择菜单中的某个选项后才记录鼠标点击位置。确切地说,我想在用户选择菜单中的选项后记录4个鼠标点击位置。
答案 0 :(得分:1)
首先,OpenGL与鼠标回调无关。它是图形库。为了您的最终目标,基本上@Mikhail建议,您在glutMouseFunc
内插入一个条件语句,因此,
void mouse_callback(){
if ( command_seleteced == true )
store mouse position
}
答案 1 :(得分:0)
我阅读了有关glutMouseFunc()
here的文档。如果您想在不同时间处理具有4种不同功能的鼠标事件,则可以使用glutMouseFunc
调用NULL
,然后使用其他功能调用glutMouseFunc
。来自文档:
将NULL传递给glutMouseFunc会禁用鼠标回调的生成。
如果你想同时处理不同的鼠标事件,那么你必须编写一个具有所有这些条件的函数。