在发动机GLES2中的Body.setGravityScale?

时间:2014-02-28 07:26:40

标签: android box2d andengine

我想制作一个不受重力影响的物体。 我尝试在相反方向施加力(-1 * body.getMass()* gravity)不起作用。

对于物体我施加冲动使它从左向右水平移动但我想保持在高位。我已经看到Body.setGravityScale存在但未在GLES2 andengine的box2d扩展中实现。

有谁知道我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:1)

我认为Kinematic Body是您正在寻找的身体。在Andngine中有三种类型的物体:

  • 动态身体:这些是真实世界的身体。它们受到重力,碰撞等的影响。
  • 静体:这些物体不受任何外力的影响。即使给它们速度,它们也不会移动。
  • 运动身体:这是您正在寻找的身体类型。运动物体不受重力的影响,但是如果你施加它们的力量(例如setVelocity(5,0))则会移动。它们是静态和动态身体的混合物

最后,你可以拥有一个运动体:

  

yourBody =   PhysicsFactory.createBoxBody(yourPhysicsWorld,yourSprite,BodyType.KinematicBody,yourFixtureDefinition);