【问题标题】:SFML Input GetMouseX and GetMouseY not catching on to mouse movementSFML 输入 GetMouseX 和 GetMouseY 没有捕捉到鼠标移动
【发布时间】: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


    【解决方案1】:

    问题是我每帧只轮询一个事件,而不是轮询所有事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多