Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将摩擦力应用于物理世界中运动的所有物体[和发动机]_Java_Android_Box2d_Andengine - Fatal编程技术网

Java 如何将摩擦力应用于物理世界中运动的所有物体[和发动机]

Java 如何将摩擦力应用于物理世界中运动的所有物体[和发动机],java,android,box2d,andengine,Java,Android,Box2d,Andengine,我正在制作一个android自上而下的游戏。桌子上有圆形物体在移动。我对它们施加力,但它们永远移动。他们从不停止移动。我希望他们表现得像在桌子上移动一样。地面和其他物体之间应该有摩擦,但我没能做到。我曾尝试在其他人下面添加一个主体,但没有成功。我曾考虑过使用摩擦接头,但没有关于如何将其用于andengine的示例或教程。我设法解决了我的问题,以下是解决方案: 我们应该从场景中创建一个身体,它会对我们的身体施加摩擦力。我们应该为每个实体创建jointDef。代码如下: Body mFriction

我正在制作一个android自上而下的游戏。桌子上有圆形物体在移动。我对它们施加力,但它们永远移动。他们从不停止移动。我希望他们表现得像在桌子上移动一样。地面和其他物体之间应该有摩擦,但我没能做到。我曾尝试在其他人下面添加一个主体,但没有成功。我曾考虑过使用摩擦接头,但没有关于如何将其用于andengine的示例或教程。

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

我们应该从场景中创建一个身体,它会对我们的身体施加摩擦力。我们应该为每个实体创建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 );

我认为这个问题可能适合你们,因为摩擦接头就是为了这个目的而制造的,所以我建议你们试试。无论您使用的是哪种编程语言,其用法都应该基本相同。谢谢,但手册没有帮助我,因为只有一句关于摩擦接头的话解释了它是什么,但没有解释如何使用它。我还发现了一些关于摩擦关节的东西,但它是用另一种语言编写的,在java中构造函数和用法不一样。