【发布时间】:2015-04-09 00:06:31
【问题描述】:
在过去两周左右的时间里,我一直在为一个有趣的项目工作,一个游戏。截至目前,我刚刚达到版本稳定且没有任何错误的地步。除了一个。这很烦人——尤其是因为我不知道发生了什么。
本质上,我使用 SFML 的 isKeyPressed 函数来检查是否按下了某个键,并使用 Event::KeyPressed 事件来检查是否释放了键。
这个bug是如果玩家在移动(按键被按住),并且用户移动了鼠标,而在鼠标移动的时候释放了按键(按键不再被按下),播放器会继续移动,直到有东西明确阻止他这样做。
这一系列事件是可重现的,所以它不应该是我的代码,而是 SFML 处理事件的方式。
有没有人知道解决这个问题的好方法?
(与此有点相关 - 如果用户“持有”游戏窗口,游戏会冻结,我真的希望这不会发生)。
如果需要任何代码或更多详细信息(屏幕截图等),我很乐意提供。谢谢!
【问题讨论】:
-
请更新您的问题以包含重现问题的简单代码示例。