Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android游戲 >> Android游戲開發 >> Android游戲開發教程之十二:淺談Sensor重力感應

Android游戲開發教程之十二:淺談Sensor重力感應

編輯:Android游戲開發

       現在眾多智能手機都加入了Sensor感應器硬件,一般比較常見的有重力感應器、加速度感應器和光線感應器,還有些手機加入了更高級的陀螺儀、溫度感應器、距離感應器、磁極方向等。在Android游戲開發中,主要用的有四種:重力、加速度、磁力和陀螺儀,一些游戲可能還會用到GPS或Cellid定位來修正一些位移信息。

       Android系統提供的感應器主要包含在android.hardware中,可以看到有android.hardware.SensorEventListener、Sensor和SensorManager這三個類,而我們發現它們能做的除了能夠獲取感應器的信息和一些原始數據外,並沒有提供相關的邏輯處理。本教程後面將詳細介紹不同感應器的作用和邏輯處理,例如晃動、磁極、旋轉速度或自由落體。

       很多Android手機可能沒有配備軌跡球或導航鍵的方向控制,所以重力感應器是這類實時性較強游戲的首選控制方式。對於Sensor感應器主要有以下幾點問題:

       1. 降噪處理

       如果做過LBS軟件的大家可能明白偏移修正,在GPS無法正常獲取數據較間斷時地圖不能亂飄,這裡Sensor也不例外,除了使用采樣數據平均值獲取外,可以間隔采樣的方法來處理。細節的算法我們將在下節給出示例代碼。

       2. Sensor感應器的敏感度

       在Android中提供了四種延遲級別分別為:

       SENSOR_DELAY_FASTEST:最低延遲,一般不是特別敏感的處理不推薦使用,該種模式可能造成手機電力大量消耗,由於傳遞的為原始數據,算法不處理好將會影響游戲邏輯和UI的性能,所以Android開發網不推薦大家使用。

       SENSOR_DELAY_GAME:游戲延遲,一般絕大多數的實時性較高的游戲都使用該級別 

       int SENSOR_DELAY_NORMAL:標准延遲,對於一般的益智類或EASY級別的游戲可以使用,但過低的采樣率可能對一些賽車類游戲有跳幀現象。

       int SENSOR_DELAY_UI:用戶界面延遲,一般對於屏幕方向自動旋轉使用,相對節省電能和邏輯處理,一般游戲開發中我們不使用。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved