Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
暂停并重新启动步骤后,Box2d body移动更快[Android]_Android_Box2d - Fatal编程技术网

暂停并重新启动步骤后,Box2d body移动更快[Android]

暂停并重新启动步骤后,Box2d body移动更快[Android],android,box2d,Android,Box2d,我正在用NDK中的Box2d物理引擎用android编写一个游戏。因此,物理学完全是在本机世界,但绘图仍然是在Java世界 在我的游戏中,我有一个更新线程,它步进物理世界并使画布无效,以便重新绘制。到现在为止,一直都还不错。当用户希望暂停游戏时,我停止所有线程。然后,用户可以选择“恢复”游戏,这将重新启动线程,游戏将从停止的地方开始 由于某种原因,当游戏恢复时,物理中的身体移动得更快。如果一个物体的时间步停止并重新开始,它为什么会发生变化 暂停后再次调用步骤()是否有问题?短暂停顿后,身体的速度

我正在用NDK中的Box2d物理引擎用android编写一个游戏。因此,物理学完全是在本机世界,但绘图仍然是在Java世界

在我的游戏中,我有一个更新线程,它步进物理世界并使画布无效,以便重新绘制。到现在为止,一直都还不错。当用户希望暂停游戏时,我停止所有线程。然后,用户可以选择“恢复”游戏,这将重新启动线程,游戏将从停止的地方开始

由于某种原因,当游戏恢复时,物理中的身体移动得更快。如果一个物体的时间步停止并重新开始,它为什么会发生变化

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

谢谢你的帮助
谢谢

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

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

您好,您能否分享一些关于如何让应用程序与NDKHi Sameer一起工作的细节,这是一个多步骤的过程,我没有记录。我可以写一些东西和你分享。我会把它发布在博客或其他地方,并在这里分享链接。