Пример #1
0
        public void HandleInput()
        {
            CurrentKeyState = Keyboard.GetState();

            if (!(CurrentKeyState.IsKeyDown(Keys.Right)) && !(CurrentKeyState.IsKeyDown(Keys.Left)))
            {
                //dir = 0;
                IsLeftPressed  = false;
                IsRightPressed = false;
                if (PlayerState != PLAYER_STATE.IDLE && PlayerState != PLAYER_STATE.JUMP && PlayerState != PLAYER_STATE.FALLING)
                {
                    PlayerState = PLAYER_STATE.IDLE;
                }
            }

            if (CurrentKeyState.IsKeyDown(Keys.Right))
            {
                dir            = 1;
                IsLeftPressed  = false;
                IsRightPressed = true;
                if (Skeleton.FlipX == true)
                {
                    Skeleton.FlipX = false;
                }
                if (PlayerState != PLAYER_STATE.R_RUN && PlayerState != PLAYER_STATE.JUMP && PlayerState != PLAYER_STATE.FALLING)
                {
                    PlayerState = PLAYER_STATE.R_RUN;
                }
            }
            else if (CurrentKeyState.IsKeyDown(Keys.Left))
            {
                dir            = -1;
                IsLeftPressed  = true;
                IsRightPressed = false;
                if (Skeleton.FlipX == false)
                {
                    Skeleton.FlipX = true;
                }
                if (PlayerState != PLAYER_STATE.L_RUN && PlayerState != PLAYER_STATE.JUMP && PlayerState != PLAYER_STATE.FALLING)
                {
                    PlayerState = PLAYER_STATE.L_RUN;
                }
            }

            if (PlayerState != PLAYER_STATE.JUMP && PlayerState != PLAYER_STATE.FALLING &&
                CurrentKeyState.IsKeyDown(Keys.Z) && PrevKeyState.IsKeyUp(Keys.Z))
            {
                IsGrounded    = false;
                PlayerState   = PLAYER_STATE.JUMP;
                IsJumpPressed = true;
            }

            if (/*PlayerState == PLAYER_STATE.JUMP && PlayerState != PLAYER_STATE.FALLING
                 * && */CurrentKeyState.IsKeyUp(Keys.Z) && PrevKeyState.IsKeyDown(Keys.Z))
            {
                IsJumpPressed = false;
            }

            PrevKeyState = CurrentKeyState;
        }
Пример #2
0
        public static bool WasButtonPressed(Keys key)
        {
            bool pressed = false;

            if (CurrentKeyState.IsKeyUp(key) && PreviousKeyState.IsKeyDown(key))
            {
                pressed = true;
            }
            return(pressed);
        }
Пример #3
0
        public static bool GetKeyUp(Keys Key, KeyboardFlags keyboardFlags = KeyboardFlags.ANY)
        {
            bool BaseCond = CurrentKeyState.IsKeyUp(Key) && LastKeyState.IsKeyDown(Key);

            switch (keyboardFlags)
            {
            case KeyboardFlags.ANY:
                return(BaseCond);

            case KeyboardFlags.SOLO:
                return(BaseCond && Keyboard.GetState().IsKeyUp(Keys.LeftAlt) && Keyboard.GetState().IsKeyUp(Keys.LeftShift) && Keyboard.GetState().IsKeyUp(Keys.LeftControl));

            case KeyboardFlags.SHIFT:
                return(BaseCond && Keyboard.GetState().IsKeyDown(Keys.LeftShift));

            case KeyboardFlags.ALT:
                return(BaseCond && Keyboard.GetState().IsKeyDown(Keys.LeftAlt));

            default:
                return(BaseCond && Keyboard.GetState().IsKeyDown(Keys.LeftControl));
            }
        }
Пример #4
0
 static bool IsKeyReleased(QKeyStates keyState)
 {
     return(CurrentKeyState.IsKeyUp((Keys)keyState) && PreviousKeyState.IsKeyDown((Keys)keyState));
 }
Пример #5
0
 public static bool IsKeyReleased(Keys key)
 {
     return(PreviousKeyState.IsKeyDown(key) && CurrentKeyState.IsKeyUp(key));
 }
Пример #6
0
 public static bool IsKeyUp(Keys key)
 {
     return(CurrentKeyState.IsKeyUp(key));
 }