public override void Update(GameTime gameTime) { NewKeyboardState = Keyboard.GetState(); // update stuff here if (OldKeyboardState.IsKeyUp(Keys.Escape) && NewKeyboardState.IsKeyDown(Keys.Escape)) { Screens.Pop(); Screens.Peek().OldKeyboardState = this.NewKeyboardState; } OldKeyboardState = NewKeyboardState; }
public override void Update(GameTime gameTime) { NewKeyboardState = Keyboard.GetState(); if (OldKeyboardState.IsKeyUp(Keys.Enter) && NewKeyboardState.IsKeyDown(Keys.Enter)) { // pop everything until main menu while (Screens.Count > 1) { Screens.Pop(); } } OldKeyboardState = NewKeyboardState; Screens.Peek().OldKeyboardState = NewKeyboardState; }
public override void Update(GameTime gameTime) { NewKeyboardState = Keyboard.GetState(); MouseState mouseState = Mouse.GetState(); if (startButton.ClickedWithinBounds(mouseState)) { OldKeyboardState = NewKeyboardState; InGameState gs = new InGameState(graphicsDevice, Content, ref Screens); Screens.Push(gs); } else if (howToPlayButton.ClickedWithinBounds(mouseState)) { OldKeyboardState = NewKeyboardState; HowToPlayState hs = new HowToPlayState(graphicsDevice, Content, ref Screens); Screens.Push(hs); } else if (optionsButton.ClickedWithinBounds(mouseState)) { // switch to options screen } else if (quitButton.ClickedWithinBounds(mouseState)) { Screens.Pop(); } if (OldKeyboardState.IsKeyUp(Keys.Escape) && NewKeyboardState.IsKeyDown(Keys.Escape)) { Screens.Pop(); } if (OldKeyboardState.IsKeyUp(Keys.Enter) && NewKeyboardState.IsKeyDown(Keys.Enter)) { OldKeyboardState = NewKeyboardState; InGameState gs = new InGameState(graphicsDevice, Content, ref Screens); Screens.Push(gs); } OldKeyboardState = NewKeyboardState; }
public static bool KeyPressed(Keys key) { return(NewKeyboardState.IsKeyDown(key)); }
public static bool KeyDown(Keys key) { return(NewKeyboardState.IsKeyDown(key) && !OldKeyboardState.IsKeyDown(key)); }
public override void Update(GameTime gameTime) { if (MainContent == null) { Screens.Pop(); return; } NewKeyboardState = Keyboard.GetState(); int direction = 0; /* * Right: 1 * Up: 2 * Left: 4 * Down: 8*/ // MOVE PLAYER // We can use the Direction class that I made to avoid confusion if (Keyboard.GetState().IsKeyDown(Keys.Right)) { direction += 1; } if (Keyboard.GetState().IsKeyDown(Keys.Up)) { direction += 2; } if (Keyboard.GetState().IsKeyDown(Keys.Left)) { direction += 4; } if (Keyboard.GetState().IsKeyDown(Keys.Down)) { direction += 8; } if (OldKeyboardState.IsKeyUp(Keys.B) && Keyboard.GetState().IsKeyDown(Keys.B)) { if (MainContent.PlayerShip.getBombs() > 0) { MainContent.PlayerShip.useBomb(); RemoveAllBullets(); } } if (direction != 0) { MainContent.PlayerShip.Move(Direction.ConvertKeyDirection(direction)); } // TOGGLE SPEED // we have to check the key is down, and not just being spammed if (OldKeyboardState.IsKeyUp(Keys.LeftShift) && NewKeyboardState.IsKeyDown(Keys.LeftShift)) { MainContent.PlayerShip.ToggleRate(2); } // fire a bullet if (OldKeyboardState.IsKeyUp(Keys.Space) && NewKeyboardState.IsKeyDown(Keys.Space)) { MainContent.FiringController.From(MainContent.PlayerShip).Between(MainContent.Events.TimeElapsed(), MainContent.Events.TimeElapsed() + .1).Pattern(new SingleBulletFiringPattern()); Stats.BulletFired(); } if (OldKeyboardState.IsKeyUp(Keys.Escape) && NewKeyboardState.IsKeyDown(Keys.Escape)) { Screens.Pop(); Screens.Peek().OldKeyboardState = this.NewKeyboardState; } if (OldKeyboardState.IsKeyUp(Keys.Q) && NewKeyboardState.IsKeyDown(Keys.Q)) { MainContent.ManualInvincibility(); } foreach (BulletModel gb in MainContent.GoodBulletList) { gb.Move(Direction.Stay, Direction.Up); } // update the keyboard state OldKeyboardState = NewKeyboardState; MainContent.Events.ExecuteScheduledEvents(); }
public static bool IsKey(Func <bool, bool, bool> checkState, Keys key) { return(checkState (NewKeyboardState.IsKeyDown(key) , OldKeyboardState.IsKeyDown(key))); }