Example #1
0
 //Use a method to call the other Updates in the other classes
 public void Update(GameTime gametime)
 {
     player.Update(gametime);
     Camera.Update(gametime);
 }
Example #2
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            KeyboardState keyboard = Keyboard.GetState();

            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || (keyboard.IsKeyDown(Keys.Escape)))
            {
                this.Exit();
            }
            if (Player.m_lifes == 0)
            {
                gameOver = true;
            }

            if (!GameValues.Instance.gamePaused)
            {
                Player.Reset();

                if (Player.m_active)
                {
                    if (keyboard.IsKeyDown(Keys.P))
                    {
                        if (!GameValues.Instance.gamePaused)
                        {
                            GameValues.Instance.gamePaused = true;
                        }
                        else
                        {
                            GameValues.Instance.gamePaused = false;
                        }
                    }
                    if ((keyboard.IsKeyDown(Keys.Up)) || (keyboard.IsKeyDown(Keys.W)))
                    {
                        Player.m_up = true;
                    }
                    if ((keyboard.IsKeyDown(Keys.Down)) || (keyboard.IsKeyDown(Keys.S)))
                    {
                        Player.m_down = true;
                    }
                    if ((keyboard.IsKeyDown(Keys.Left)) || (keyboard.IsKeyDown(Keys.A)))
                    {
                        Player.m_left = true;
                    }
                    if ((keyboard.IsKeyDown(Keys.Right)) || (keyboard.IsKeyDown(Keys.D)))
                    {
                        Player.m_right = true;
                    }
                    if (keyboard.IsKeyDown(Keys.Space) || (keyboard.IsKeyDown(Keys.RightControl)))
                    {
                        Player.Fire();
                    }
                }

                // TODO: Add your update logic here
                Level.Update();
                int i = 0;
                for (i = 0; i < PlayerWeapons.Count; i++)
                {
                    if (PlayerWeapons[i].m_active)
                    {
                        PlayerWeapons[i].Update();
                    }
                }
                for (i = 0; i < GameValues.Instance.EnemyWeapons.Count; i++)
                {
                    if (GameValues.Instance.EnemyWeapons[i].m_active)
                    {
                        GameValues.Instance.EnemyWeapons[i].Update();
                    }
                }

                Player.Update();
                starField.Update();
            }

            base.Update(gameTime);
        }
Example #3
0
        private void UpdatePlayer(GameTime gameTime)
        {
            player.Update(gameTime);
            // Windows Phone Controls
            while (TouchPanel.IsGestureAvailable)
            {
                GestureSample gesture = TouchPanel.ReadGesture();
                if (gesture.GestureType == GestureType.FreeDrag)
                {
                    player.Position += gesture.Delta;
                }
            }

            // Get Thumbstick Controls
            player.Position.X += currentGamePadState.ThumbSticks.Left.X * playerMoveSpeed;
            player.Position.Y -= currentGamePadState.ThumbSticks.Left.Y * playerMoveSpeed;

            // Use the Keyboard / Dpad
            if (currentKeyboardState.IsKeyDown(Keys.Left) ||
                currentGamePadState.DPad.Left == ButtonState.Pressed)
            {
                player.Position.X -= playerMoveSpeed;
            }
            if (currentKeyboardState.IsKeyDown(Keys.Right) ||
                currentGamePadState.DPad.Right == ButtonState.Pressed)
            {
                player.Position.X += playerMoveSpeed;
            }
            if (currentKeyboardState.IsKeyDown(Keys.Up) ||
                currentGamePadState.DPad.Up == ButtonState.Pressed)
            {
                player.Position.Y -= playerMoveSpeed;
            }
            if (currentKeyboardState.IsKeyDown(Keys.Down) ||
                currentGamePadState.DPad.Down == ButtonState.Pressed)
            {
                player.Position.Y += playerMoveSpeed;
            }
            if ((currentGamePadState.Buttons.Start == ButtonState.Pressed) || (currentKeyboardState.IsKeyDown(Keys.F1)))
            {
                player.Active = true;
            }



            // Make sure that the player does not go out of bounds
            player.Position.X = MathHelper.Clamp(player.Position.X, 0, GraphicsDevice.Viewport.Width - player.Width);
            player.Position.Y = MathHelper.Clamp(player.Position.Y, 0, GraphicsDevice.Viewport.Height - player.Height);

            // Fire only every interval we set as the fireTime
            if (gameTime.TotalGameTime - previousFireTime > fireTime)
            {
                // Reset our current time
                previousFireTime = gameTime.TotalGameTime;

                // Add the projectile, but add it to the front and center of the player
                AddProjectile(player.Position + new Vector2(player.Width / 2, 0));

                // Play the laser sound
                laserSound.Play();
            }

            // reset score if player health goes to zero
            if (player.Health <= 0)
            {
                player.Active = false;
                player.Health = 100;
                score         = 0;
            }
        }