如何对物理世界中所有物体施加摩擦[andengine]

时间:2014-06-24 11:29:16

标签: java android box2d andengine

我正在制作Android自上而下的游戏。有一些圆形物体在桌子上移动。我向他们施加力量,但他们永远地移动。他们从不停止移动。我希望他们表现得像他们在桌子上移动一样。地面和其他物体之间应该存在摩擦,但我无法做到。我试过在其他人身上添加一个尸体,但它没有用。我想过使用FrictionJoint,但没有关于如何在andengine中使用它们的示例或教程。

1 个答案:

答案 0 :(得分:0)

我设法解决了我的问题,这是解决方案:

我们应该在场景中创建一个可以对我们的身体施加摩擦力的身体。我们应该为每个机构创建jointDef。这是代码:

Body mFrictionBody;

mFrictionBody = PhysicsFactory.createBoxBody( mPhysicsWorld, -50, -50, 0, 0, BodyType.StaticBody, FIXTURE_DEF);

FrictionJointDef frictionDef = new FrictionJointDef();
frictionDef.bodyA = mFrictionBody;
frictionDef.bodyB = mMaviParaBody[0];
frictionDef.maxForce = 4.2f;
frictionDef.collideConnected = false;

mFriction[0] = (FrictionJoint) mPhysicsWorld.createJoint( frictionDef );