Libgdx的圆和多边形碰撞

Libgdx的圆和多边形碰撞,第1张

Libgdx的圆和多边形碰撞

因此,我设法在Circle和Polygon之间创建了碰撞测试方法。至少,它对我有用。

这是代码:

public boolean overlaps(Polygon polygon, Circle circle) {    float []vertices=polygon.getTransformedVertices();    Vector2 center=new Vector2(circle.x, circle.y);    float squareRadius=circle.radius*circle.radius;    for (int i=0;i<vertices.length;i+=2){        if (i==0){ if (Intersector.intersectSegmentCircle(new Vector2(vertices[vertices.length-2], vertices[vertices.length-1]), new Vector2(vertices[i], vertices[i+1]), center, squareRadius))     return true;        } else { if (Intersector.intersectSegmentCircle(new Vector2(vertices[i-2], vertices[i-1]), new Vector2(vertices[i], vertices[i+1]), center, squareRadius))     return true;        }    }    return false;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5499680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存