I am a beginner to Farseer Physics, but I have already managed to do some basic stuff.
Right now I am trying to build a shooter, for better understanding let's say I am trying to build asteroids .
I have set world gravity to (0,0), the player can fly around and face the direction he wants, the fire key creates a new Bullet-fixture with the same position and rotation as the player.
Bullet looks like this
class Bullet : FixtureSpriteComponent
public Bullet(World world)
Sprite = new Sprite("images\\bullet");
Fixture = FixtureFactory.CreateRectangle(world, Sprite.Width, Sprite.Height, 1f);
Fixture.Body.FixedRotation = true;
Fixture.Body.BodyType = BodyType.Dynamic;
Fixture.CollisionFilter.CollisionCategories = Category.Cat2;
Fixture.CollisionFilter.CollidesWith = ~Category.Cat1;
Fixture.Body.IsBullet = true;
public override void Update()
Fixture.Body.LinearVelocity = Geometry.Radians2Direction(Fixture.Body.Rotation) * 100;
In the Update Method the Body of the Bullet should be forced to fly straight ahead, which it does, but very slow (for a bullet).
I have already tried to change some values here and there but it didn't make any difference.
I hope you could give me a hint : (