private SimpleWindForceTest() { _simpleWind = new SimpleWindForce(); _simpleWind.Direction = new Vector2(0.7f, 0.2f); _simpleWind.Variation = 1.0f; _simpleWind.Strength = 5; _simpleWind.Position = new Vector2(0, 20); _simpleWind.DecayStart = 5f; _simpleWind.DecayEnd = 10f; _simpleWind.DecayMode = AbstractForceController.DecayModes.Step; _simpleWind.ForceType = AbstractForceController.ForceTypes.Point; _strength = 1.0f; World.Add(_simpleWind); World.Gravity = Vector2.Zero; const int countX = 10; const int countY = 10; for (int x = 0; x < countX; x++) { for (int y = 0; y < countY; y++) { Body currentBody = World.CreateBody(new Vector2(x * 2 - countX, y * 2 + 5), 0.6f, BodyType.Dynamic); var currentFixture = currentBody.CreateRectangle(1f, 1f, 5f, Vector2.Zero); //Body currentBody = World.CreateBody(new Vector2(x - countX, y + 5), 0.6f, BodyType.Dynamic); //var currentFixture = currentBody.CreateCircle(0.2f, 10f); currentFixture.Friction = 0.5f; //currentFixture.CollidesWith = Category.Cat10; } } Body floor = World.CreateRectangle(100, 1, 1, new Vector2(0, 0)); Body ceiling = World.CreateRectangle(100, 1, 1, new Vector2(0, 40)); Body right = World.CreateRectangle(1, 100, 1, new Vector2(35, 0)); Body left = World.CreateRectangle(1, 100, 1, new Vector2(-35, 0)); foreach (var fixture in floor.FixtureList) { fixture.Friction = 0.2f; } foreach (var fixture in ceiling.FixtureList) { fixture.Friction = 0.2f; } foreach (var fixture in right.FixtureList) { fixture.Friction = 0.2f; } foreach (var fixture in left.FixtureList) { fixture.Friction = 0.2f; } }
private SimpleWindForceTest() { _simpleWind = new SimpleWindForce(); _simpleWind.Direction = new Vector2(0.7f, 0.2f); _simpleWind.Variation = 1.0f; _simpleWind.Strength = 5; _simpleWind.Position = new Vector2(0, 20); _simpleWind.DecayStart = 5f; _simpleWind.DecayEnd = 10f; _simpleWind.DecayMode = AbstractForceController.DecayModes.Step; _simpleWind.ForceType = AbstractForceController.ForceTypes.Point; _strength = 1.0f; World.AddController(_simpleWind); World.Gravity = Vector2.Zero; const int countX = 10; const int countY = 10; for (int x = 0; x < countX; x++) { for (int y = 0; y < countY; y++) { Body currentFixture = BodyFactory.CreateRectangle(World, 1f, 1f, 5f, new Vector2(x * 2 - countX, y * 2 + 5)); //Fixture currentFixture = BodyFactory.CreateCircle(World, 0.2f, 10f, new Vector2(x - countX, y + 5)); currentFixture.BodyType = BodyType.Dynamic; currentFixture.Friction = 0.5f; currentFixture.SetTransform(currentFixture.Position, 0.6f); //currentFixture.CollidesWith = Category.Cat10; } } Body floor = BodyFactory.CreateRectangle(World, 100, 1, 1, new Vector2(0, 0)); Body ceiling = BodyFactory.CreateRectangle(World, 100, 1, 1, new Vector2(0, 40)); Body right = BodyFactory.CreateRectangle(World, 1, 100, 1, new Vector2(35, 0)); Body left = BodyFactory.CreateRectangle(World, 1, 100, 1, new Vector2(-35, 0)); floor.Friction = 0.2f; ceiling.Friction = 0.2f; right.Friction = 0.2f; left.Friction = 0.2f; }