Java LibGDX-正确使用多边形类

Java LibGDX-正确使用多边形类,java,math,libgdx,collision-detection,Java,Math,Libgdx,Collision Detection,我已经创建了Polygon对象来包裹我的飞机(飞机的TextureRegion的大小是256x74,但在游戏中这个区域的大小是70x20)。因此: 之后,在我的更新功能中,我更新了它的位置: public void update(float delta){ Vector2 v = getPosition(); v.add(velocity); polygon.setPosition(v.x, v.y); } 然后渲染多边形以了解其位置: public voi

我已经创建了
Polygon
对象来包裹我的飞机(飞机的
TextureRegion
的大小是256x74,但在游戏中这个区域的大小是70x20)。因此:

之后,在我的
更新
功能中,我更新了它的位置:

public void update(float delta){
    Vector2 v = getPosition();      
    v.add(velocity);
    polygon.setPosition(v.x, v.y);
}
然后渲染多边形以了解其位置:

public void render(SpriteBatch spriteBatch, float pixelPerUnitX, float pixelPerUnitY){
spriteBatch.draw(testTexture,polygon.getX()*pixelPerUnitX, polygon.getY()*pixelPerUnitY, 
            polygon.getBoundingRectangle().width*pixelPerUnitX,polygon.getBoundingRectangle().height*pixelPerUnitY);
}
最后,我创建了2架飞机,让它们彼此飞行,每次迭代我都会尝试检测碰撞,如下所示:

public void detectCollision(){
    for(Airplane airplane1 : Airplanes){
        for(Airplane airplane2 : Airplanes){
            if(Intersector.overlapConvexPolygons(airplane1.getPolygon(), airplane2.getPolygon())){
                //COLLISION DON'T HAPPEN!!!
            }
    }
}

我看到两个矩形相互移动并相交,但
重叠凸多边形
函数不起作用!为什么?我已经解决了这个问题。我错误地指定了顶点。我需要得到矩形多边形,所以我必须使用以下方法:

polygon = new Polygon(new float[]{0,0,bounds.width,0,bounds.width,bounds.height,0,bounds.height});
如果要旋转多边形对象,请不要忘记设置原点:

polygon.setOrigin(bounds.width/2, bounds.height/2);

现在它工作完美

但是,您如何处理碰撞结果?如何重新调整多边形?
polygon.setOrigin(bounds.width/2, bounds.height/2);