void UpdateCamera(GameTime gameTime) { KeyboardState keyState = Keyboard.GetState(); var chase = camera as ChaseCamera; if (chase != null) { if (keyState.IsKeyDown(Keys.W)) { chase.PositionOffset += Vector3.Forward * 10; } if (keyState.IsKeyDown(Keys.S)) { chase.PositionOffset += Vector3.Backward * 10; } if (keyState.IsKeyDown(Keys.A)) { chase.PositionOffset += Vector3.Left * 10; } if (keyState.IsKeyDown(Keys.D)) { chase.PositionOffset += Vector3.Right * 10; } if (keyState.IsKeyDown(Keys.R)) { chase.PositionOffset += Vector3.Up * 10; } if (keyState.IsKeyDown(Keys.F)) { chase.PositionOffset += Vector3.Down * 10; } chase.Move( spaceship.Position, spaceship.Rotation ); foreach (var model in this.models) { if (model is GameModel) { ((GameModel)model).UpdateCameraPosition(chase.Position); } } } else { foreach (var model in this.models) { if (model is GameModel) { ((GameModel)model).UpdateCameraPosition(((FreeCamera)camera).Position); } } } camera.Update(); }
void UpdateCamera(GameTime gameTime) { KeyboardState keyState = Keyboard.GetState(); var chase = camera as ChaseCamera; if (chase != null) { if (keyState.IsKeyDown(Keys.W)) { chase.PositionOffset += Vector3.Forward * 10; } if (keyState.IsKeyDown(Keys.S)) { chase.PositionOffset += Vector3.Backward * 10; } if (keyState.IsKeyDown(Keys.A)) { chase.PositionOffset += Vector3.Left * 10; } if (keyState.IsKeyDown(Keys.D)) { chase.PositionOffset += Vector3.Right * 10; } if (keyState.IsKeyDown(Keys.R)) { chase.PositionOffset += Vector3.Up * 10; } if (keyState.IsKeyDown(Keys.F)) { chase.PositionOffset += Vector3.Down * 10; } chase.Move( spaceship.Position, spaceship.Rotation ); foreach (var model in this.models) { if (model is GameModel) { ((GameModel)model).UpdateCameraPosition(chase.Position); } } } else { foreach (var model in this.models) { if (model is GameModel) { ((GameModel)model).UpdateCameraPosition(((FreeCamera)camera).Position); } } } //spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque, null, null, null, postProcessingEffect); camera.Update(); }