【问题标题】:Box2d: One default static body created with world? Purpose?Box2d:使用世界创建的一个默认静态主体?目的?
【发布时间】:2014-04-11 18:23:04
【问题描述】:

如果我建立了一个新世界,并在不先创建任何物体的情况下遍历其中的物体,那么新世界中似乎存在一个静态物体。那具尸体从何而来,为什么会存在?

我正在使用 box2dweb,它是 box2d 的 javascript 版本。如果您在 html 文件中运行以下代码,您将获得一个控制台日志,该日志返回世界上任何物体的 m_type。它将返回一个零,表示存在一个静态物体(m_type of 0 = static, 1 = kinematic, 2 = dynamic)

var b2Vec2 = Box2D.Common.Math.b2Vec2;
var b2World = Box2D.Dynamics.b2World;

var world = new b2World(new b2Vec2(0, 10), true);

for(var body = world.GetBodyList();body;body = body.GetNext()){
   console.log(body.m_type);
}

【问题讨论】:

    标签: box2d


    【解决方案1】:

    如果您在第 5717 行查看源代码 (https://code.google.com/p/box2dweb/source/browse/trunk/Box2D.js#5699),您可以看到其中一个主体正在被制作为“地面主体”。拥有这样的主体通常很方便(最常见的是,在拖动物体时用作鼠标关节的一个主体)。在我看来,引擎制作这样的车身有点禁忌,但由于某种我不太理解的原因,它似乎也用于滑轮接头的创建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多