Java box2d碰撞小多边形

Java box2d碰撞小多边形,java,box2d,Java,Box2d,我想在我的世界里割断身体。我的代码是基于。但是当新的多边形形状非常小时,我会得到这个错误 This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. AL lib: (EE) alc_cleanup: 1 device not closed Assertion fai

我想在我的世界里割断身体。我的代码是基于。但是当新的多边形形状非常小时,我会得到这个错误

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
AL lib: (EE) alc_cleanup: 1 device not closed
Assertion failed!

Program: C:\Program Files\Java\jdk1.7.0_65\bin\java.exe   
File: /var/lib/jenkins/workspace/libgdx/extensions/gdx-box2d/gdx-box2d/jni/Box2D/Collision/Shapes/b2PolygonShape.cpp, Line 158

Expression: false
下面是我创建新主体的代码

private void creatorbody(数组vs){
如果(与尺寸>=8){
System.out.println(“Vectors=“+vs.size”);
}
BodyDef BodyDef=新的BodyDef();
多边形形状=新的多边形形状();
FixtureDef FixtureDef=新的FixtureDef();
Vector2中心=findCentroid(vs,vs.大小);
if(Float.isInfinite(center.x)| Float.isNaN(center.x)| |(Float.isInfinite(center.y)| Float.isNaN(center.y))){
System.out.println(“center:+center.toString());
回来
}
bodyDef.type=bodyDef.BodyType.DynamicBody;
车身定义位置设置(中心x、中心y);
Vector2[]v=新Vector2[vs.size];
//System.out.println(“向量”);
对于(int i=0;i
//if (b2DistanceSquared(v, ps[j]) < 0.5f * b2_linearSlop)   
if (b2DistanceSquared(v, ps[j]) < ((0.5f * b2_linearSlop) * (0.5f * b2_linearSlop)))
//如果(b2DistanceSquared(v,ps[j])<0.5f*b2_linearSlop)
if(b2距离平方(v,ps[j])<((0.5f*b2_线迹)*(0.5f*b2_线迹)))

正确,它太小了。请将其变大。@learncos2D是否可以更改允许小形状的内容?是否可以制作真正的小形状。(我知道它不是java语言)。不,不是。设置该限制是有原因的。
//if (b2DistanceSquared(v, ps[j]) < 0.5f * b2_linearSlop)   
if (b2DistanceSquared(v, ps[j]) < ((0.5f * b2_linearSlop) * (0.5f * b2_linearSlop)))