Ejemplo n.º 1
0
        public override void Update(Microsoft.Xna.Framework.GameTime gameTime, int tickCount, float scrollRows)
        {
            this.scrollRows = scrollRows;

            if (screenPad.GetState().Buttons.X == ButtonState.Released && screenPad.GetState().Buttons.X != lastButtonState)
            {
                reloaded = true;
            }

            lastButtonState = screenPad.GetState().Buttons.X;

            accumShootingTime = accumShootingTime.Add(gameTime.ElapsedGameTime);

            if (onWindowPosition != null)
            {
                if (accumElapsedGameTime >= TimeSpan.FromMilliseconds(tickInMS))
                {
                    if (speed < 1f)
                    {
                        Speed += acceleration;
                    }

                    accumElapsedGameTime = TimeSpan.FromSeconds(0);
                    onWindowPosition     = onWindowPosition + speed * new Vector2(0, 1) + direction;
                }
                accumElapsedGameTime = accumElapsedGameTime.Add(gameTime.ElapsedGameTime);
                Position             = (onWindowPosition.Value / scrollRowHeight) + new Vector2(0, scrollRows);
            }

            if (IsOffScreen())
            {
                OnOffScreen(new EventArgs());
            }
        }
Ejemplo n.º 2
0
        public override void Update(GameTime gameTime, int tickCount, float scrollRows)
        {
            var t = (float)gameTime.ElapsedGameTime.TotalSeconds;

            Speed += acceleration;

            Position = Position + (float)(Speed * t) * Direction;
            Position = new Vector2(player.Position.X + (player.Size.X - this.Size.X) / 2f, Position.Y);
            if (IsOffScreen() || Position.Y >= player.Position.Y)
            {
                OnOffScreen(new EventArgs());
            }

            if (boomerangDirection == BoomerangDirection.Up && screenPad.GetState().Buttons.X == ButtonState.Released)
            {
                acceleration       = -2;
                boomerangDirection = BoomerangDirection.Down;
            }
        }
        public char GetInputCode(IScreenPad screenPad, int blinkCount)
        {
            var inputCode = InputCodes.Empty;

            if (GameSettings.Instance.PlatformType == PlatformType.WindowsPhone)
            {
                if (screenPad.GetState().Buttons.B == ButtonState.Pressed)
                {
                    buttonBPressed = true;
                }
                else if (screenPad.GetState().Buttons.B == ButtonState.Released && buttonBPressed)
                {
                    buttonBPressed = false;
                    inputCode      = InputCodes.B;
                }
                if (screenPad.GetState().Buttons.A == ButtonState.Pressed)
                {
                    buttonAPressed = true;
                }
                else if (screenPad.GetState().Buttons.A == ButtonState.Released && buttonAPressed)
                {
                    buttonAPressed = false;
                    inputCode      = InputCodes.A;
                }
                if (screenPad.GetState().Buttons.X == ButtonState.Pressed)
                {
                    buttonXPressed = true;
                    inputCode      = InputCodes.X;
                }
                else if (screenPad.GetState().Buttons.X == ButtonState.Released && buttonXPressed)
                {
                    buttonXPressed = false;
                }

                if (screenPad.LeftStick.Y > .75f && (inputCode != 'U' || blinkCount % 4 == 0))
                {
                    inputCode = InputCodes.U;
                }

                if (screenPad.LeftStick.Y < -.75f && (inputCode != 'D' || blinkCount % 4 == 0))
                {
                    inputCode = InputCodes.D;
                }
            }

            if (GameSettings.Instance.PlatformType == PlatformType.Windows ||
                GameSettings.Instance.PlatformType == PlatformType.WindowsUniversal)
            {
                var keyboardState = Microsoft.Xna.Framework.Input.Keyboard.GetState();
                if (keyboardState.IsKeyDown(xInput.Keys.A))
                {
                    buttonAPressed = true;
                }
                else if (keyboardState.IsKeyUp(xInput.Keys.A) && buttonAPressed)
                {
                    buttonAPressed = false;
                    inputCode      = InputCodes.A;
                }

                if (keyboardState.IsKeyDown(xInput.Keys.B))
                {
                    buttonBPressed = true;
                }
                else if (keyboardState.IsKeyUp(xInput.Keys.B) && buttonBPressed)
                {
                    buttonBPressed = false;
                    inputCode      = InputCodes.B;
                }

                if (keyboardState.IsKeyDown(xInput.Keys.Space))
                {
                    buttonXPressed = true;
                    inputCode      = InputCodes.X;
                }

                if (keyboardState.IsKeyDown(xInput.Keys.Up))
                {
                    buttonUpPressed = true;
                }
                else if (keyboardState.IsKeyUp(xInput.Keys.Up) && buttonUpPressed)
                {
                    buttonUpPressed = false;
                    inputCode       = InputCodes.U;
                }

                if (keyboardState.IsKeyDown(xInput.Keys.Down))
                {
                    buttonDownPressed = true;
                }
                else if (keyboardState.IsKeyUp(xInput.Keys.Down) && buttonDownPressed)
                {
                    buttonDownPressed = false;
                    inputCode         = InputCodes.D;
                }
            }

            return(inputCode);
        }