我有一个精灵(有身体)在场景中弹跳。它需要不受重力影响,但也能够与场景中的其他物体发生碰撞。这意味着我无法使用运动体。我试过:
body = PhysicsFactory.createCircleBody(mPhysicsWorld, this, BodyType.DynamicBody, PhysicsFactory.createFixtureDef(.5f, .5f, .5f));
MassData md = new MassData();
md.mass=0;
body.setMassData(md);
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(this, body, true, true));
我的 FixtureDef 具有不同的值,但似乎没有任何效果。我的身体仍然落到场景的底部并坐在那里。我看到了一些关于施加相等且相反的力的事情。如果我的引力是地球默认力并且这是一个可行的选择,我到底会怎么做?或者是否有更好的方法将该物体从引力场中移出并仍然与其他动态物体相互作用?
我不确定当前版本的 AndEngine 中包含哪个版本的 Box2D,但您可以尝试body.setGravityScale(0);
如果这不起作用,您必须将其放入 onUpdate 中:
body.applyForce(new Vector2(0,-SensorManager.GRAVITY_EARTH), new Vector2(body.getWorldCenter()));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)