none
請問 VB2005 如何偵測 USB 遊戲控制器的狀態? RRS feed

  • 問題

  • 各位好:

     

    請問以 VB 2005 該如何偵測到 USB 遊戲控制器的狀態呢?

    控制台->遊戲控制器->進階可以看到我按下控制器的哪一個按鈕。

    不過以 VB 2005 的物件,找不到可以用的...

     

    謝謝。

    2008年6月4日 上午 06:34

解答

所有回覆

  • HI,

     

    您可以用XNA Game Studio提供的功能, 請參考:

    http://msdn.microsoft.com/en-us/library/bb203900.aspx

     

    tihs

    2008年6月5日 上午 01:09
  • 感謝回覆.

    我參照他的寫法實作, 發現我這邊:

     

    一般 GamePad : XP 控制台可看到, 有按鍵反映  >>  程式抓不到

    XBox360 GamePad: XP 控制台可看到, 有按鍵反映  >>  程式有抓到

     

    XBox360 當然有要求安裝 driver, 但是一般 GamePad 則不需要.

     

    程式如下:

     

    Code Snippet
        Dim currentState1 As GamePadState = GamePad.GetState(PlayerIndex.One)
        Dim currentState2 As GamePadState = GamePad.GetState(PlayerIndex.Two)
        Dim currentState3 As GamePadState = GamePad.GetState(PlayerIndex.Three)
        Dim currentState4 As GamePadState = GamePad.GetState(PlayerIndex.Four)
        Dim tString As String
        tString = currentState1.IsConnected & vbNewLine & currentState2.IsConnected & vbNewLine & currentState3.IsConnected & vbNewLine & currentState4.IsConnected
        MsgBox(tString)

     

     

     

    如果是使用一般 GamePad, 全都是 False, 而 PlayerIndex 也只有四個可以用.

    如果是 360 GamePad, 則在 PlayerIndex.One 顯示有連線.

     

    請問有任何經驗或其他解決方式, 讓一般 usb gamepad 也正常的嗎?

     

    謝謝.

    2008年6月8日 上午 08:56
  • HI,

     

    用這個不知道是否可以解決?

    http://www.codeplex.com/xnainputcontrolmgr

     

    tihs

    2008年6月8日 上午 10:11