我正在使用FarSeer和XNA。

有没有简单的方法来调整FarSeer机身的大小或缩放比例?

谢谢。

最佳答案

我一直在寻找解决方案,却在官方论坛上偶然发现了您的话题。通过查看官方论坛帖子和Farseer源代码,我可以收集到以下信息:

使用车身工厂时,提供的宽度/高度/半径参数仅用于计算其惯性矩。主体类本身没有宽度/高度字段或属性。

我认为您正在寻找的是如何调整几何尺寸,这在碰撞检测中很重要。

Geom类(矩形,圆形和其他)也不具有width / height / radius字段或属性。相反,它是由一组顶点定义的,因此,要调整几何尺寸,我们将需要具有修改顶点的功能。 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);
    }


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

关于resize - 如何调整Farseer实体以及其关节和连接的实体的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1924910/

10-12 14:25