Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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
Java box2d-更稳定的堆栈_Java_Libgdx_Box2d - Fatal编程技术网

Java box2d-更稳定的堆栈

Java box2d-更稳定的堆栈,java,libgdx,box2d,Java,Libgdx,Box2d,我正在使用box2d和libgdx制作一个塔楼游戏。 当我在一个盒子上加上另一个盒子时,10或15秒后会出现某种不稳定,堆叠会掉落。 使堆栈更稳定的最佳方法是什么 我尝试过使用一个大的角度阻尼,或者给盒子一个更大的密度,但是没有成功。 每个块都具有相同的物理特性 有什么建议吗?我认为不稳定的堆栈行为是Erin用于具有两个接触点的形状的位置分辨率的算法固有的(至少按照2.3.2)。更多解释请参见我的回复(包括我如何修改算法以使其更稳定的描述) 我尝试在垂直堆栈测试(Box2D测试台)中增加块的大小

我正在使用box2d和libgdx制作一个塔楼游戏。 当我在一个盒子上加上另一个盒子时,10或15秒后会出现某种不稳定,堆叠会掉落。 使堆栈更稳定的最佳方法是什么

我尝试过使用一个大的角度阻尼,或者给盒子一个更大的密度,但是没有成功。 每个块都具有相同的物理特性


有什么建议吗?

我认为不稳定的堆栈行为是Erin用于具有两个接触点的形状的位置分辨率的算法固有的(至少按照2.3.2)。更多解释请参见我的回复(包括我如何修改算法以使其更稳定的描述)


我尝试在垂直堆栈测试(Box2D测试台)中增加块的大小,看看是否可以让它看起来更稳定。翻倒似乎需要更长的时间。因此,显然这是一种至少使其更稳定一点的方法。

尝试使用更大的框,这不需要在视觉上产生任何效果。您应该已经使用米作为您的Box2D坐标,并将其转换为与屏幕更相关的内容。我认为您的期望太高了。假设这些盒子都是相同大小的,要想得到如此高的堆叠以保持稳定,唯一的方法是将它们垂直放置在彼此的顶部,并且角度完全为零。我刚刚用1Mx1M的盒子试过这个,它成功地稳定下来,一直睡到大约17个盒子。我想这就是现实世界中的情况,对吧?@iforce2d是的,但我只是想让它们在游戏中更稳定。。这就是全部。。在我的游戏中,1米=100像素我想你可以尝试使用一些线性阻尼,这可能有助于减少微小的运动,最终发展成更大的运动。