Проблема с гравитацией в андроиде Android
Я пытаюсь написать простую игру, которая включает в себя спрайт игрока и препятствия. Я реализовал физику мира с гравитацией. Я хотел бы, чтобы при падении спрайта игрока он находился рядом с препятствием, откуда он падает, но с силой тяжести спрайт падает по диагонали, а не прямо вниз.
mPhysicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false);
...
public Player(PhysicsWorld world, final float pX, final float pY, final TiledTextureRegion pTextureRegion,
final VertexBufferObjectManager pVertexBufferObjectManager)
{
super(pX, pY, pTextureRegion, pVertexBufferObjectManager);
mPlayerDeff = PhysicsFactory.createFixtureDef(0, 0, 0);
mVertexBuffer = pVertexBufferObjectManager;
mBoardManager = BoardManager.getInstance();
mDirection = DIRECTION_RIGHT;
mWorld = world;
mBody = PhysicsFactory.createBoxBody(mWorld, this, BodyType.DynamicBody, mPlayerDeff);
mWorld.registerPhysicsConnector(new PhysicsConnector(this, mBody, true, false));
}
1 ответ
Вы можете попытаться установить массовые данные для вашего тела:
MassData mass = new MassData();
mass.mass = 10; // in kilograms
mBody.setMassData(mass);