gpt4 book ai didi

android - Box2d body 在暂停中停止并重新启动后移动得更快 [Android]

转载 作者:行者123 更新时间:2023-11-29 02:16:19 25 4
gpt4 key购买 nike

我正在使用 NDK 中的 Box2d 物理引擎在 android 中编写游戏。所以物理完全在本地世界,但绘图仍然在 Java 世界。

在我的游戏中,我有一个更新线程,它步进物理世界并使 Canvas 无效以进行重绘。到目前为止,一切都很好。当用户希望暂停游戏时,我会停止所有线程。然后,用户可以选择“恢复”游戏,这将重新启动线程,游戏将从停止的地方开始。

出于某种原因,当游戏重新开始时,物理中的物体移动得更快。如果停止并重新启动时间步长,为什么物体会发生任何变化?

暂停后再次调用 step() 是否有问题?短暂的停顿后,物体的速度、质量、摩擦力、密度会发生变化吗?

感谢任何帮助谢谢

最佳答案

这个问题很老,但以防万一你还没有解决它,我想到了一些想法:

  • 您是否将常量值传递给 step()?如果您是根据实际流逝的时间来计算该值,那可能是您的问题。
  • 您确定您只创建了一个线程吗?当您恢复时,如果您恢复旧线程并意外创建另一个线程,您可以获得 2 倍的更新。
  • 如何将帧速率锁定为实时 - 是否有可能您没有将计算更新到新时间?比如,如果你有一个“最后更新”,你检查以确保至少 1/60 秒已经过去,如果你不在恢复时重置“最后更新”值,那么每次更新都会成功,无论这段时间是否已经过去。

关于android - Box2d body 在暂停中停止并重新启动后移动得更快 [Android],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518729/

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