Box2D体型

时间:2015-04-09 10:31:11

标签: box2d

我需要在box2d中设计一个特殊的块,它不受任何力的影响,但如果玩家在其上停留一段时间,它应该在重力加速度下降(g = 9.8 m / s ^ 2 on地球)。我不知道使用哪种体型或如何编码。静止体不会在力的作用下移动,运动体只能以设定的速度移动,动态体在任何力的作用下移动,这意味着玩家可以通过撞击它来移动它。

1 个答案:

答案 0 :(得分:0)

一种解决方案是在玩家在此身体停留一段时间后重置身体类型。

身体最初可以是静止的,然后设置为动态,使其根据重力下降:

// body creation
b2BodyDef bodyDef;
bodyDef.type = b2_staticBody;
b2Body* body = world.CreateBody(&bodyDef);

// if the player stayed long enough on it
body->SetType(b2_dynamicBody);