暂停并重新启动步骤后,Box2d body移动更快[Android]
我正在用NDK中的Box2d物理引擎用android编写一个游戏。因此,物理学完全是在本机世界,但绘图仍然是在Java世界 在我的游戏中,我有一个更新线程,它步进物理世界并使画布无效,以便重新绘制。到现在为止,一直都还不错。当用户希望暂停游戏时,我停止所有线程。然后,用户可以选择“恢复”游戏,这将重新启动线程,游戏将从停止的地方开始 由于某种原因,当游戏恢复时,物理中的身体移动得更快。如果一个物体的时间步停止并重新开始,它为什么会发生变化 暂停后再次调用步骤()是否有问题?短暂停顿后,身体的速度、质量、摩擦力和密度是否发生变化 谢谢你的帮助暂停并重新启动步骤后,Box2d body移动更快[Android],android,box2d,Android,Box2d,我正在用NDK中的Box2d物理引擎用android编写一个游戏。因此,物理学完全是在本机世界,但绘图仍然是在Java世界 在我的游戏中,我有一个更新线程,它步进物理世界并使画布无效,以便重新绘制。到现在为止,一直都还不错。当用户希望暂停游戏时,我停止所有线程。然后,用户可以选择“恢复”游戏,这将重新启动线程,游戏将从停止的地方开始 由于某种原因,当游戏恢复时,物理中的身体移动得更快。如果一个物体的时间步停止并重新开始,它为什么会发生变化 暂停后再次调用步骤()是否有问题?短暂停顿后,身体的速度
谢谢这个问题很老了,但万一你还没有解决,我会想到一些想法:
- 是否将常量值传递给步骤()?如果您是根据传递的实时量来计算该值,那么这可能是您的问题李>
- 您确定只创建一个线程吗?恢复时,如果恢复旧线程并意外创建另一个线程,可能会得到2倍的更新李>
- 如何将帧速率锁定为实时——是否可能不将该计算更新为新时间?如中所示,如果您有一个“上次更新”,您要检查以确保至少过了1/60秒,如果您没有在恢复时重置“上次更新”值,那么无论时间是否已过,每次更新都将成功