///<summary>
        /// Fonction GetJoy, à appeler dans la boucle principale de votre programme, en lui passant
        /// en paramètres 4 valeurs:
        /// - Un tableau (d'une seule dimension) de booléens, qui vous dira si tel ou tel bouton est
        ///   appuyé (true) ou relaché (false)
        /// - Trois entiers, les axes X, Y et Z du joystick.
        ///     Si votre joystick est "au repos" (centré) sur un axe, la valeur sera 32767.
        ///     Si le joy est poussé à fond dans une direction, vous aurez 0 ou 65535 (selon le sens).
        ///       * Avec un controleur analogique (comme un joystick),
        ///         toutes les valeurs intermédiaires sont possibles.
        ///       * Avec un controleur digital (comme un joypad de base),
        ///         les valeurs sont toujours 0, 32767 ou 65535 (il n'y a pas d'intermédiaire)
        ///
        /// La fonction retourne "true" si ça c'est bien passé, "false" s'il y a eu un problème
        /// (par exemple s'il n'y a pas de joystick répondant à cette ID).
        /// </summary>
        public bool GetJoy(out bool[] joybuttons, out int axis_x, out int axis_y, out int axis_z)
        {
            JOYINFO JoyInformation = new JOYINFO();

            joybuttons = new bool[MAXJOYBUTTONS];

            if (joyGetPos(joystick_id, ref JoyInformation) != 0)
            {
                axis_x = 0;
                axis_y = 0;
                axis_z = 0;
                return(false);
            }

            for (int i = 0; i < MAXJOYBUTTONS; i++)
            {
                joybuttons[i] = (((int)Math.Pow(2, i) & JoyInformation.wButtons) != 0);
            }

            axis_x = JoyInformation.wXpos;
            axis_y = JoyInformation.wYpos;
            axis_z = JoyInformation.wZpos;

            return(true);
        }
        ///<summary>
        /// Fonction GetJoy, à appeler dans la boucle principale de votre programme, en lui passant
        /// en paramètres 4 valeurs:
        /// - Un tableau (d'une seule dimension) de booléens, qui vous dira si tel ou tel bouton est
        ///   appuyé (true) ou relaché (false)
        /// - Trois entiers, les axes X, Y et Z du joystick.
        ///     Si votre joystick est "au repos" (centré) sur un axe, la valeur sera 32767.
        ///     Si le joy est poussé à fond dans une direction, vous aurez 0 ou 65535 (selon le sens).
        ///       * Avec un controleur analogique (comme un joystick),
        ///         toutes les valeurs intermédiaires sont possibles.
        ///       * Avec un controleur digital (comme un joypad de base),
        ///         les valeurs sont toujours 0, 32767 ou 65535 (il n'y a pas d'intermédiaire)
        ///
        /// La fonction retourne "true" si ça c'est bien passé, "false" s'il y a eu un problème
        /// (par exemple s'il n'y a pas de joystick répondant à cette ID).
        /// </summary>
        public bool GetJoy(out bool[] joybuttons, out int axis_x, out int axis_y, out int axis_z)
        {
            JOYINFO JoyInformation = new JOYINFO();

            joybuttons = new bool[MAXJOYBUTTONS];

            if (joyGetPos(joystick_id, ref JoyInformation) != 0)
            {
                axis_x = 0;
                axis_y = 0;
                axis_z = 0;
                return false;
            }

            for (int i = 0; i < MAXJOYBUTTONS; i++)
                joybuttons[i] = (((int)Math.Pow(2, i) & JoyInformation.wButtons) != 0);

            axis_x = JoyInformation.wXpos;
            axis_y = JoyInformation.wYpos;
            axis_z = JoyInformation.wZpos;

            return true;
        }
Example #3
0
 public static extern int joyGetPos(int uJoyID, ref JOYINFO pji);
Example #4
0
 public static extern ResultCode joyGetPos(int uJoyID, JOYINFO pji);
Example #5
0
 public static extern MMRESULT joyGetPos(int uJoyID, out JOYINFO pji);
Example #6
0
 public static extern Int32 joyGetPos(Int32 uJoyID, ref JOYINFO pji);
Example #7
0
 public static extern Int32 joyGetPos(Int32 uJoyID, ref JOYINFO pji);
Example #8
0
 public static extern ResultCode joyGetPos(int uJoyID, JOYINFO pji);
 private static extern int joyGetPos(int uJoyID, ref JOYINFO pji);
 private static extern int joyGetPos(int uJoyID, ref JOYINFO pji);
Example #11
0
		public static extern uint joyGetPos(uint uJoyID, ref JOYINFO pji);