public override void LoadContent() { base.LoadContent(); if (World == null) World = new World(Vector2.Zero); else World.Clear(); if (DebugView == null) { DebugView = new DebugViewXNA(World); DebugView.RemoveFlags(DebugViewFlags.Shape); DebugView.RemoveFlags(DebugViewFlags.Joint); DebugView.DefaultShapeColor = Color.White; DebugView.SleepingShapeColor = Color.LightGray; DebugView.LoadContent(ScreenManager.GraphicsDevice, ScreenManager.Content); } if (Camera == null) Camera = new Camera2D(ScreenManager.GraphicsDevice); else Camera.ResetCamera(); HiddenBody = BodyFactory.CreateBody(World, Vector2.Zero); // Loading may take a while... so prevent the game from "catching up" once we finished loading ScreenManager.Game.ResetElapsedTime(); }
public override void LoadContent() { if (World == null) World = new World(Vector2.Zero); else World.Clear(); if (DebugView == null) { DebugView = new DebugViewXNA(World); DebugView.DefaultShapeColor = Color.White; DebugView.SleepingShapeColor = Color.LightGray; DebugView.LoadContent(Framework.GraphicsDevice, Framework.Content); } DebugView.Flags = _flags; _flagsChanged = false; if (Camera == null) Camera = new Camera2D(Framework.GraphicsDevice); else Camera.ResetCamera(); base.LoadContent(); }
public Border(World world, ScreenManager screenManager, Camera2D camera) { _screenManager = screenManager; _camera = camera; float halfWidth = ConvertUnits.ToSimUnits(screenManager.GraphicsDevice.Viewport.Width) / 2f - 0.75f; float halfHeight = ConvertUnits.ToSimUnits(screenManager.GraphicsDevice.Viewport.Height) / 2f - 0.75f; Vertices borders = new Vertices(4); borders.Add(new Vector2(-halfWidth, halfHeight)); borders.Add(new Vector2(halfWidth, halfHeight)); borders.Add(new Vector2(halfWidth, -halfHeight)); borders.Add(new Vector2(-halfWidth, -halfHeight)); _anchor = BodyFactory.CreateLoopShape(world, borders); _anchor.CollisionCategories = Category.All; _anchor.CollidesWith = Category.All; _basicEffect = new BasicEffect(screenManager.GraphicsDevice); _basicEffect.VertexColorEnabled = true; _basicEffect.TextureEnabled = true; _basicEffect.Texture = screenManager.Content.Load<Texture2D>("Materials/pavement"); VertexPositionColorTexture[] vertice = new VertexPositionColorTexture[8]; vertice[0] = new VertexPositionColorTexture(new Vector3(-halfWidth, -halfHeight, 0f), Color.LightGray, new Vector2(-halfWidth, -halfHeight) / 5.25f); vertice[1] = new VertexPositionColorTexture(new Vector3(halfWidth, -halfHeight, 0f), Color.LightGray, new Vector2(halfWidth, -halfHeight) / 5.25f); vertice[2] = new VertexPositionColorTexture(new Vector3(halfWidth, halfHeight, 0f), Color.LightGray, new Vector2(halfWidth, halfHeight) / 5.25f); vertice[3] = new VertexPositionColorTexture(new Vector3(-halfWidth, halfHeight, 0f), Color.LightGray, new Vector2(-halfWidth, halfHeight) / 5.25f); vertice[4] = new VertexPositionColorTexture(new Vector3(-halfWidth - 2f, -halfHeight - 2f, 0f), Color.LightGray, new Vector2(-halfWidth - 2f, -halfHeight - 2f) / 5.25f); vertice[5] = new VertexPositionColorTexture(new Vector3(halfWidth + 2f, -halfHeight - 2f, 0f), Color.LightGray, new Vector2(halfWidth + 2f, -halfHeight - 2f) / 5.25f); vertice[6] = new VertexPositionColorTexture(new Vector3(halfWidth + 2f, halfHeight + 2f, 0f), Color.LightGray, new Vector2(halfWidth + 2f, halfHeight + 2f) / 5.25f); vertice[7] = new VertexPositionColorTexture(new Vector3(-halfWidth - 2f, halfHeight + 2f, 0f), Color.LightGray, new Vector2(-halfWidth - 2f, halfHeight + 2f) / 5.25f); _borderVerts = new VertexPositionColorTexture[24]; _borderVerts[0] = vertice[0]; _borderVerts[1] = vertice[5]; _borderVerts[2] = vertice[4]; _borderVerts[3] = vertice[0]; _borderVerts[4] = vertice[1]; _borderVerts[5] = vertice[5]; _borderVerts[6] = vertice[1]; _borderVerts[7] = vertice[6]; _borderVerts[8] = vertice[5]; _borderVerts[9] = vertice[1]; _borderVerts[10] = vertice[2]; _borderVerts[11] = vertice[6]; _borderVerts[12] = vertice[2]; _borderVerts[13] = vertice[7]; _borderVerts[14] = vertice[6]; _borderVerts[15] = vertice[2]; _borderVerts[16] = vertice[3]; _borderVerts[17] = vertice[7]; _borderVerts[18] = vertice[3]; _borderVerts[19] = vertice[4]; _borderVerts[20] = vertice[7]; _borderVerts[21] = vertice[3]; _borderVerts[22] = vertice[0]; _borderVerts[23] = vertice[4]; }
protected PhysicsGameScreen() { TransitionOnTime = TimeSpan.FromSeconds(0.75); TransitionOffTime = TimeSpan.FromSeconds(0.75); HasCursor = true; EnableCameraControl = true; _userAgent = null; World = null; Camera = null; DebugView = null; }
public TheoJansenWalker(World world, ScreenManager screenManager, Camera2D camera, Vector2 position) { _position = position; _motorSpeed = 2.0f; _spriteBatch = screenManager.SpriteBatch; _lineBatch = screenManager.LineBatch; _camera = camera; _walkerJoints = new List<DistanceJoint>(); _leftShoulders = new Body[3]; _rightShoulders = new Body[3]; _leftLegs = new Body[3]; _rightLegs = new Body[3]; Vector2 pivot = new Vector2(0f, -0.8f); CreateChassis(world, pivot, screenManager.Assets); Vector2 wheelAnchor = pivot + new Vector2(0f, 0.8f); CreateLegTextures(screenManager.Assets); CreateLeg(world, -1f, wheelAnchor, 0); CreateLeg(world, 1f, wheelAnchor, 0); _leftLeg.Origin = AssetCreator.CalculateOrigin(_leftLegs[0]); _leftShoulder.Origin = AssetCreator.CalculateOrigin(_leftShoulders[0]); _rightLeg.Origin = AssetCreator.CalculateOrigin(_rightLegs[0]); _rightShoulder.Origin = AssetCreator.CalculateOrigin(_rightShoulders[0]); _wheel.SetTransform(_wheel.Position, 120f * Settings.Pi / 180f); CreateLeg(world, -1f, wheelAnchor, 1); CreateLeg(world, 1f, wheelAnchor, 1); _wheel.SetTransform(_wheel.Position, -120f * Settings.Pi / 180f); CreateLeg(world, -1f, wheelAnchor, 2); CreateLeg(world, 1f, wheelAnchor, 2); }
public override void LoadContent() { base.LoadContent(); if (World == null) { World = new World(Vector2.Zero); } else { World.Clear(); } if (DebugView == null) { DebugView = new DebugViewXNA(World); DebugView.RemoveFlags(DebugViewFlags.Shape); DebugView.RemoveFlags(DebugViewFlags.Joint); DebugView.DefaultShapeColor = Color.White; DebugView.SleepingShapeColor = Color.LightGray; DebugView.LoadContent(ScreenManager.GraphicsDevice, ScreenManager.Content); } if (Camera == null) { Camera = new Camera2D(ScreenManager.GraphicsDevice); } else { Camera.ResetCamera(); } HiddenBody = BodyFactory.CreateBody(World, Vector2.Zero); // Loading may take a while... so prevent the game from "catching up" once we finished loading ScreenManager.Game.ResetElapsedTime(); }
public override void LoadContent() { base.LoadContent(); //We enable diagnostics to show get values for our performance counters. Settings.EnableDiagnostics = true; if (World == null) { World = new World(Vector2.Zero); } else { World.Clear(); } if (DebugView == null) { DebugView = new DebugViewXNA(World); DebugView.RemoveFlags(DebugViewFlags.Shape); DebugView.RemoveFlags(DebugViewFlags.Joint); DebugView.DefaultShapeColor = Color.White; DebugView.SleepingShapeColor = Color.LightGray; DebugView.LoadContent(ScreenManager.GraphicsDevice, ScreenManager.Content); } if (Camera == null) { Camera = new Camera2D(ScreenManager.GraphicsDevice); } else { Camera.ResetCamera(); } // Loading may take a while... so prevent the game from "catching up" once we finished loading ScreenManager.Game.ResetElapsedTime(); }
public void Draw(SpriteBatch batch, LineBatch lines, Camera2D camera) { batch.Begin(0, null, null, null, null, null, camera.View); batch.Draw(_body.Image, ConvertUnits.ToDisplayUnits(_chassis.Position), null, Color.White, _chassis.Rotation, _body.Origin, 1f, SpriteEffects.None, 0f); batch.End(); for (int i = 0; i < 3; i++) { batch.Begin(0, null, null, null, null, null, camera.View); batch.Draw(_leftLeg.Image, ConvertUnits.ToDisplayUnits(_leftLegs[i].Position), null, _walkerColors[i], _leftLegs[i].Rotation, _leftLeg.Origin, 1f, SpriteEffects.None, 0f); batch.Draw(_leftShoulder.Image, ConvertUnits.ToDisplayUnits(_leftShoulders[i].Position), null, _walkerColors[i], _leftShoulders[i].Rotation, _leftShoulder.Origin, 1f, SpriteEffects.None, 0f); batch.Draw(_rightLeg.Image, ConvertUnits.ToDisplayUnits(_rightLegs[i].Position), null, _walkerColors[i], _rightLegs[i].Rotation, _rightLeg.Origin, 1f, SpriteEffects.None, 0f); batch.Draw(_rightShoulder.Image, ConvertUnits.ToDisplayUnits(_rightShoulders[i].Position), null, _walkerColors[i], _rightShoulders[i].Rotation, _rightShoulder.Origin, 1f, SpriteEffects.None, 0f); batch.End(); lines.Begin(camera.SimProjection, camera.SimView); for (int j = 0; j < 8; j++) // 4 joints pro for schleife... { lines.DrawLine(_walkerJoints[8 * i + j].WorldAnchorA, _walkerJoints[8 * i + j].WorldAnchorB, ContentWrapper.Grey); } lines.End(); } batch.Begin(0, null, null, null, null, null, camera.View); batch.Draw(_engine.Image, ConvertUnits.ToDisplayUnits(_wheel.Position), null, Color.White, _wheel.Rotation, _engine.Origin, 1f, SpriteEffects.None, 0f); batch.End(); }