Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }