Box2d:一个用world创建的默认静态体?目的?

时间:2014-04-11 18:23:05

标签: box2d

如果我建立一个新的世界,并且在不创建任何实体的情况下迭代其中的实体,则在新世界中似乎存在一个静态实体。这个身体来自哪里,为什么存在?

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

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

1 个答案:

答案 0 :(得分:3)

如果您在第5717行查看来源(https://code.google.com/p/box2dweb/source/browse/trunk/Box2D.js#5699),您可以看到正在制作一个身体作为地面的身体&#39;。拥有这样的身体通常很方便(最常见的是,当拖动物体时用作鼠标关节的一个身体)。在我看来,发动机制造这样的机构有点禁止,但它似乎也被用于滑轮关节的创造,因为我不太关注。< / p>