コード例 #1
0
        private void RefreshJoystickState(Joystick joystick, ZXSpectrum.Joystick zxJoystick)
        {
            // Set BufferSize in order to use buffered data.
            // joystick.Properties.BufferSize = 128;
            // Poll events from joystick
            // joystick.Poll();
            // var datas = joystick.GetBufferedData();

            joystick.Poll();
            JoystickState currentState = joystick.GetCurrentState();

            ZXSpectrum.JoystickHorizontalPosition newHorizontalPosition = ZXSpectrum.JoystickHorizontalPosition.Center;
            if (currentState.X < 16383)
            {
                newHorizontalPosition = ZXSpectrum.JoystickHorizontalPosition.Left;
            }
            else if (currentState.X > 49150)
            {
                newHorizontalPosition = ZXSpectrum.JoystickHorizontalPosition.Right;
            }
            ZXSpectrum.JoystickVerticalPosition newVerticalPosition = ZXSpectrum.JoystickVerticalPosition.Center;
            if (currentState.Y < 16383)
            {
                newVerticalPosition = ZXSpectrum.JoystickVerticalPosition.Up;
            }
            else if (currentState.Y > 49150)
            {
                newVerticalPosition = ZXSpectrum.JoystickVerticalPosition.Down;
            }
            bool newButtonPressedState = currentState.Buttons[0];

            zxJoystick.RefreshCurrentPosition(newVerticalPosition, newHorizontalPosition, newButtonPressedState);
        }
コード例 #2
0
 public JoystickAdapter(ZXSpectrum.Joystick zxJoystick1, ZXSpectrum.Joystick zxJoystick2)
 {
     this.zxJoystick1 = zxJoystick1;
     this.zxJoystick2 = zxJoystick2;
 }
コード例 #3
0
 public JoystickAdapter(ZXSpectrum.Joystick zxJoystick1, ZXSpectrum.Joystick zxJoystick2)
 {
     this.zxJoystick1 = zxJoystick1;
     this.zxJoystick2 = zxJoystick2;
 }