我正在使用FarSeer和XNA。
是否有一种简单的方法可以调整FarSeer体的大小或缩放?
感谢。
答案 0 :(得分:0)
我一直在寻找解决方案,并在官方论坛上偶然发现了你的话题。以下是我通过查看官方论坛帖子和Farseer源代码收集的内容:
使用车身工厂时,提供宽度/高度/半径参数以仅计算其惯性矩。 body类本身没有width / height字段或属性。
我认为你在寻找的是如何调整geom的大小,这是碰撞检测中最重要的事情。
Geom类(矩形,圆形和诸如此类)也没有宽度/高度/半径字段或属性。相反,它由一组顶点定义,因此为了调整geom的大小,我们需要能够修改顶点。 geom类有一个公共方法:
/// <summary>
/// Sets the vertices of the geom.
/// </summary>
/// <param name="vertices">The vertices.</param>
public void SetVertices(Vertices vertices)
{
vertices.ForceCounterClockWiseOrder();
localVertices = new Vertices(vertices);
worldVertices = new Vertices(vertices);
AABB.Update(ref vertices);
}
为了调整大小,我们只需要对顶点执行算术运算。没有时间自己测试一下,但这应该是我们开始的地方。