gpt4 book ai didi

c++ - 移动鼠标导致事件不更新

转载 作者:行者123 更新时间:2023-11-30 05:45:02 32 4
gpt4 key购买 nike

在过去的两周左右的时间里,我一直在从事一个以娱乐为目的的项目,一个游戏。截至目前,我刚刚达到发布稳定且没有任何错误的地步。除了一个。这非常烦人 - 特别是因为我不知道发生了什么。

基本上,我使用 SFML 的 isKeyPressed 函数来检查是否按下了某个键,并使用 Event::KeyPressed 事件来检查键释放。

错误是如果播放器正在移动(按住键),并且用户移动鼠标,并且在鼠标移动时释放键(不再按下键),播放器将继续移动,直到有东西明确阻止他这样做。

这一系列事件是可重现的,所以它不应该是我的代码,而是 SFML 处理事件的方式。

有谁知道这个问题有什么好的解决办法吗?
(与此有点相关 - 如果用户“按住”游戏窗口,游戏就会卡住,我真的很希望这不会发生)。

如果需要任何代码或更多详细信息(屏幕截图等),我很乐意提供。谢谢!

最佳答案

如果你想检查按键释放,你应该使用 Event::KeyReleased 事件而不是 Event::KeyPressed,你不觉得吗?

但是当您使用 isKeyPressed 时,您不需要检查按键释放:只需在按下按键的每一帧上移动播放器即可。

关于c++ - 移动鼠标导致事件不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29527448/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com