XNA-XBOX360的控制器
鍵盤的控制方式前面有說過取得鍵盤輸入,這次解釋一下XBOX360手把的控制方式,
手把的長相
藍色的字是我對按鈕的一般稱呼,紅色的字是Buttons裡對按鈕的稱呼,
例如我們使用GamePadState.IsButtonDown(Buttons.LeftStick));就是偵測左香菇頭有沒有被按下去(左右香菇頭除了可以轉來轉去,還可以壓喔!)
而Buttons幾個列舉圖上不好表示,如下表
LeftThumbstickLeft | 左香菇頭是否往左推(二三象限) |
LeftThumbstickRight | 左香菇頭是否往右推(一四象限) |
LeftThumbstickUp | 左香菇頭是否往上推(一二象限) |
LeftThumbstickDown | 左香菇頭是否往下推(三四象限) |
RightThumbstickLeft | 右香菇頭是否往左推(二三象限) |
RightThumbstickRight | 右香菇頭是否往右推(一四象限) |
RightThumbstickUp | 右香菇頭是否往上推(一二象限) |
RightThumbstickDown | 右香菇頭是否往下推(三四象限) |
另外我們用GamePad.GetState(PlayerIndex.One);取出來的GamePadState除了和鍵盤滑鼠類似的IsButtonDown和IsButtonUp函式之外,
還可以用GamePadState.Buttons取得GamePadButtons來判斷按鈕狀態,他可以判斷除了LT、RT、十字鍵之外的按鈕按下或放開的狀態。
GamePadState.DPad可以取得十字鍵的狀態,用法就和普通按鈕一樣。
GamePadState.ThumbSticks是取得左右香菇頭的轉動向量(Vector2),x和y介於-1到1之間。
GamePadState.Triggers可以取得LT、RT的壓力數值(float),數值介於0到1之間。
最後GamePad.SetVibration可以讓手把震動,他第一個參數是決定幾號手把要震動,
再來兩個參數(float)決定左邊和右邊震動的大小,數字介於0到1,
左邊的震動感覺比較緩慢而有力,右邊的感覺比較快比較麻。
然後記得不動的時候要設定為零,若是沒設成零而直接關閉程式,手把會一直動一直動一直動.......
這樣對於手把的控制方式就有了初步的認識了!