查看: 7207|回覆: 0

PS2搖桿控制模組組合鍵應用

[複製鏈接]
magiccar 發表於 2011-12-11 23:16 | 顯示全部樓層 |閱讀模式
關於林同學,提到16軸機器人的程式中,搖桿按指令程式段裡面的Case 都是採對應單一搖桿按鍵,可否運用組合鍵 (例如x + o 同時按)來操控?
答案是肯定的,因為是PS2的搖桿,這項特異功能當然不能少。

先下載PS2搖桿控制模組 Gamepad Ps 使用手冊來參考
GetKey.jpg (表一)

Event Ps.Dir4WayEvent()
        Ps.GetDir4Way(b4Way)
        Select Case b4Way
                Case 1 : b4way = 1
                Case 2 : b4way = 2
                Case 3 : b4Way = 4
                Case 4 : b4Way = 8
        End Select        
        wKeyStatus = b4Way*4096 + wStatus
End Event
Event Ps.KeyPressedEvent()        
        wStatus = Ps.GetKeyStatus()        
        wKeyStatus =  wStatus +b4Way*4096        
End Event  

上面的控制程式中我們知道wKeyStatus 是由wStatus及b4Way加權運算合成的,而值的來源即為按鍵按下的狀態,只要你手夠快,12個按鍵的組合它都能偵測到。
就用 X+O 組合鍵來舉例好了:
從(表一)中我們得知"O"按下是Bit 1=1,而"X"按下是Bit 2=1
因此wStatus = Ps.GetKeyStatus() 的輸出用二進位來表示,就是"000000000110",換算成十進位就是"6"。
所以你在下面程式段中在加入”Case 6”,就能做出對應組合鍵的功能了 
        Select Case wKeyStatus
                Case 1         : PressUp   '三角        
                Case 2         : Turn_R()    '圓
                Case 4         : HeadStand() '×
                Case 6         : 你的指令()  ' O + X
     :
     :

您需要登入後纔可以回帖 登入 | 立即註冊

本版積分規則

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版發帖返回頂部