2013-10-31 53 views
2

我想用加速度傳感器控制我的遊戲中的某些東西。Libgdx getAzimuth()不起作用

我不知道爲什麼,但getAzimuth犯規工程它總是得到值0,我通過展示一些方法,結果使這個測試,這是輸出

代碼樣本

font.draw(batch, "Gdx.input.getAccelerometerX() : " + String.valueOf(Gdx.input.getAccelerometerX()), 10, 200); 

輸出

Gdx.input.getAccelerometerX() : -8.245 
Gdx.input.getAccelerometerY() : 0.457 
Gdx.input.getAccelerometerZ() : 1.245 

Gdx.input.getAzimuth() : 0 
Gdx.input.getPitch() : 0 
Gdx.input.getRoll() : 0 

其他問題

getAccelerometerX(),等工程,但即使手機在桌子上鋪設那些數字總是變化

回答

3

您的設備要麼不有指南針,或者你已經禁用了AndroidApplicationConfiguration中的指南針。在這兩種情況下,getAzimuth(),getPitch()getRoll()將返回0.

+0

好吧,但我沒有真正瞭解getAccelerometerX()和getAzimuth()之間的區別,指南針和加速度計之間有什麼區別,我不明白。 – LeSam

+2

加速度計測量重力加速度,而方位角是磁北和另一個任意點之間的角度。 –

1

加速度計值顯示設備朝向地面。根據地理方位的方位角(意思是磁北等)。