Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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_Game Physics - Fatal编程技术网

Java 与其他物体碰撞时旋转/旋转物体

Java 与其他物体碰撞时旋转/旋转物体,java,android,box2d,andengine,game-physics,Java,Android,Box2d,Andengine,Game Physics,我正在用box2d实现一个由AndEngine驱动的物理游戏。 假设有一个物体从上面垂直下落。 球与另一个对象碰撞并改变其方向 现在,在碰撞之后,球应该在空中旋转,对吗 因此,我想知道是否需要自己使用setAngularVelocity函数进行计算(以及如何进行计算) 或者box2d可以自动完成 我希望我的表达是正确的 谢谢你的帮助 插座插座号。。。你不需要做任何计算。。。当你像这样为你的身体创建物理连接器时 public PhysicsConnector(final IShape pSh

我正在用box2d实现一个由AndEngine驱动的物理游戏。
假设有一个物体从上面垂直下落。 球与另一个对象碰撞并改变其方向

现在,在碰撞之后,球应该在空中旋转,对吗

因此,我想知道是否需要自己使用setAngularVelocity函数进行计算(以及如何进行计算)
或者box2d可以自动完成

我希望我的表达是正确的 谢谢你的帮助

插座插座号。。。你不需要做任何计算。。。当你像这样为你的身体创建物理连接器时

   public PhysicsConnector(final IShape pShape, final Body pBody, final boolean pUdatePosition, final boolean pUpdateRotation) {

如果将pUpdateRotation设置为true。。。你可以看到你的身体在旋转。。如果你不想看到…把它设为假的。。。但这只会禁用屏幕上精灵的更新。它仍然使身体保持物理状态。。所以身体仍然会旋转。。但是旋转是不可见的…

对于其他阅读本文的人来说,您的精灵可能不旋转的另一个原因是如果装置/装置的摩擦力设置为0。(想想在冰上滑行)。

好的,现在我注意到我正在使用这个构造函数:
公共物理连接器(最终形状pShape,最终身体pBody){这个(pShape,pBody,true,true,true,true);}
但是我没有看到旋转中的变化。唯一的位置被更新。当然,我的意思是,我正在使用这个构造函数,其中所有参数都是“真的”,但仍然-当对象相互碰撞时没有旋转。。。(仅位置得到更新)您是否缩放了您的精灵。。或者对其进行了任何更改?否。这是夹具:
private static final FixtureDef fixture\u DEF=PhysicsFactory.createFixtureDef(1,1.1f,0.3f)我应该提到两个物体都是圆。两个圆物体都是“动态物体”。你回答问题了吗?