每个游戏循环 SFML 重复事件循环 3 次

SFML repeating event loop 3 times per game loop

我不知道为什么会这样,每次事件循环 运行 时,我都会使用控制台输出进行检查。所有这一切意味着动画被搞砸了,我可能会使用临时修复,但我真的很好奇为什么会这样。

假设您使用类似于示例代码的代码,您是 运行 事件循环的 while() 循环,只要有事件就会轮询事件,因此它 "repeats" 与触发事件的频率一样。事件可以从鼠标移动,到点击,到键盘输入,到window焦点等等。查看官方文档可以看到所有这些。

现在,如果事件循环的迭代扰乱了您的渲染或动画,那您就做错了。 运行 您直接在游戏循环而不是事件循环中进行更新。如果您需要来自事件的一些信息,通过将它们存储在一些变量中来缓存它们。

最后但同样重要的是,正如评论员所说,学习如何正确寻求帮助。