如何调整Farseer体的大小,以及它的关节和连通体?

时间:2009-12-17 22:03:45

标签: resize xna farseer

我正在使用FarSeer和XNA。

是否有一种简单的方法可以调整FarSeer体的大小或缩放?

感谢。

1 个答案:

答案 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);
    }

为了调整大小,我们只需要对顶点执行算术运算。没有时间自己测试一下,但这应该是我们开始的地方。