3

我正在使用 FarSeer 和 XNA。

有没有一种简单的方法来调整或缩放 FarSeer 主体?

谢谢。

4

1 回答 1

0

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

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

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

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

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

于 2009-12-20T13:22:34.950 回答