【发布时间】:2010-06-27 18:26:27
【问题描述】:
我正在我的应用程序中编写一个 GUI,我注意到按钮按下并没有很快被注册。我做了一些惰性调试(将鼠标坐标发送到输出),我注意到当鼠标移动到某个地方时,Input 的 GetMouseX 和 GetMouseY 响应不够快。
这个小花絮应该能够重现它(在典型游戏循环中调用的 HandleEvents 函数中,显然将 App::whatever 替换为工作区中的任何内容)。
int x = App::GetApp()->GetInput().GetMouseX();
int y = App::GetApp()->GetInput().GetMouseY();
std::cout << x << " " << y << "\n";
只需在屏幕上移动鼠标并观察输出。我不确定这是否是正确的行为,并且我将其用于错误的目的,或者是什么,但我需要某种方法来在任何给定时间检索鼠标的确切位置。任何帮助表示赞赏,谢谢。
附:如果我缓慢移动鼠标,则不会出现问题。
编辑:
我错了。问题只发生在其他事情发生的情况下。当我屏蔽了大部分游戏循环并且只包括检索光标位置时,它工作得很好。不过仍然不确定是什么问题。
【问题讨论】:
标签: c++ user-interface mouseevent sfml