Пример #1
0
 void Joy_JoystickStateChanged(object sender, SharpDX.DirectInput.JoystickState state)
 {
     if (buttonPanel != null && buttonPanel.Controls.Count > 0)
     {
         for (int i = 0; i < buttonPanel.Controls.Count; i++)
         {
             bool[] buttons = state.Buttons;
             var    b       = (JoyButton)buttonPanel.Controls[i];
             b.State = buttons[i];
         }
     }
     if (povsPanel != null && povsPanel.Controls.Count > 0)
     {
         int[] povs = state.PointOfViewControllers;
         for (int i = 0; i < povsPanel.Controls.Count; i++)
         {
             var p = (JoyPov)povsPanel.Controls[i];
             p.State = povs[i];
         }
     }
     if (sliderPanel != null && sliderPanel.Controls.Count > 0)
     {
         for (int i = 0; i < sliderPanel.Controls.Count; i++)
         {
             var c = (JoySlider)sliderPanel.Controls[i];
             c.State = state.Sliders[i];
         }
     }
 }
Пример #2
0
        public static Microsoft.Xna.Framework.Input.GamePadState ToXNAGamePadState(this SharpDX.DirectInput.JoystickState joyState)
        {
            Microsoft.Xna.Framework.Vector2       LeftStick = new Microsoft.Xna.Framework.Vector2((float)joyState.X / 45000, (float)joyState.Y);
            Microsoft.Xna.Framework.Input.Buttons buttons   = joyState.Buttons[0] ? Microsoft.Xna.Framework.Input.Buttons.A : 0;

            Microsoft.Xna.Framework.Input.GamePadState outputState = new Microsoft.Xna.Framework.Input.GamePadState(LeftStick, Microsoft.Xna.Framework.Vector2.Zero, 0, 0, buttons);
            return(outputState);
        }
Пример #3
0
        public static Microsoft.Xna.Framework.Input.GamePadState GetState(Microsoft.Xna.Framework.PlayerIndex index)
        {
            if (instance == null)
            {
                instance = new FizzyoInput();
            }

            SharpDX.DirectInput.JoystickState joyState = new SharpDX.DirectInput.JoystickState();
            if ((int)index < joysticks.Length)
            {
                joysticks[(int)index].GetCurrentState(ref joyState);
                joyState.X -= joysticksDeadzoneX[(int)index];
                return(joyState.ToXNAGamePadState());
            }

            return(new Microsoft.Xna.Framework.Input.GamePadState());
        }