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

3

我正在使用FarSeer和XNA。

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

谢谢。

1个回答

0

我正在寻找解决方案,偶然在官方论坛上看到了您的帖子。从官方论坛帖子和Farseer源代码中,我能够了解到以下信息:

当使用body factory时,提供宽度/高度/半径参数仅用于计算其惯性矩。body类本身没有宽度/高度字段或属性。

我认为您要寻找的是如何调整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);
    }

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接