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