コード例 #1
0
ファイル: GameplayScreen.cs プロジェクト: hiepledinh/MyMelody
        public override void HandleInput(InputState input)
        {
            if (input == null)
                throw new ArgumentNullException("input");

            // Look up inputs for the active player profile.
            int playerIndex = (int)ControllingPlayer.Value;

            KeyboardState keyboardState = input.CurrentKeyboardStates[playerIndex];
            GamePadState gamePadState = input.CurrentGamePadStates[playerIndex];

            // if the user pressed the back button, we return to the main menu
            PlayerIndex player;

            if (input.IsNewButtonPress(Buttons.Back, ControllingPlayer, out player))
            {
                LoadingScreen.Load(ScreenManager, false, ControllingPlayer, new BackgroundScreen(), new MainMenuScreen(content));
            }
        }
コード例 #2
0
ファイル: MenuScreen.cs プロジェクト: hiepledinh/MyMelody
        /// <summary>
        /// Responds to user input, changing the selected entry and accepting
        /// or cancelling the menu.
        /// </summary>
        public override void HandleInput(InputState input)
        {
            // we cancel the current menu screen if the user presses the back button
            PlayerIndex player;
            if (input.IsNewButtonPress(Buttons.Back, ControllingPlayer, out player))
            {
                OnCancel(player);
            }

            // look for any taps that occurred and select any entries that were tapped
            //foreach (GestureSample gesture in input.Gestures)
            //{
            //    if (gesture.GestureType == GestureType.Tap)
            //    {
            //        // convert the position to a Point that we can test against a Rectangle
            //        Point tapLocation = new Point((int)gesture.Position.X, (int)gesture.Position.Y);
            //        menuTitle = "Point: " + tapLocation.X + "-" + tapLocation.Y;
            //        // iterate the entries to see if any were tapped
            //        for (int i = 0; i < menuEntries.Count; i++)
            //        {
            //            MenuEntry menuEntry = menuEntries[i];

            //            if (GetMenuEntryHitBounds(menuEntry).Contains(tapLocation))
            //            {
            //                // select the entry. since gestures are only available on Windows Phone,
            //                // we can safely pass PlayerIndex.One to all entries since there is only
            //                // one player on Windows Phone.
            //                OnSelectEntry(i, PlayerIndex.One);
            //            }
            //        }
            //    }
            //    if (gesture.GestureType == GestureType.VerticalDrag)
            //    {
            //        menuTitle = "Drag: " + gesture.Delta.Y;

            //        foreach (MenuEntry menu in MenuEntries)
            //        {
            //            if (gesture.Delta.Y > 0)
            //            {
            //                menu.PositionY += gesture.Delta.Y;
            //            }
            //            else if (gesture.Delta.Y < 0)
            //            {
            //                menu.PositionY += gesture.Delta.Y;
            //            }

            //        }
            //    }
            //}
            base.HandleInput(input);
        }