2013-01-31 73 views
0

我試圖從拇指的XInput獲取值,但值很奇怪,我不知道如何正確處理它們。將遊戲手柄的拇指值轉換爲範圍

如何計算,這樣我可以-1之間讀取的值(搖桿向左/向上)+1(搖桿向右/下)

類同XNA的Gamepad.GetState()。耐用型操縱桿.Left.X(-1 =向左,+1 =向右)。

任何想法?

+0

顯示您編寫的產生「奇怪」值的代碼。 – phonetagger

+0

float x =(float)ThumbstickLeftX /(float)32768變成像= 1072693184這樣的值。如果我刪除(float),我什麼也得不到。 – Deukalion

+0

難道是因爲死區太高或其他? – Deukalion

回答

3

按照documentation_XINPUT_GAMEPAD.sThumbLXSHORT,其價值在於-32768和32767之間。如果你想將其轉換成一個範圍[-1,1),分割值由32768.0。

+0

我只得到-1和1,我不能得到-0.5f左右的值.. – Deukalion

+0

不,那由於整數除法將產生零的保證值。除以32768.0。 – phonetagger

+0

@phonetagger,很好的捕捉整數除法問題。編輯。 – Kevin