日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android教程之实现动作感应技术

發布時間:2025/5/22 Android 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android教程之实现动作感应技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天有個公司說需要動作感應的幾個小游戲!也接觸android很久了,但是以前沒有看過關于動作感應技術的教程,到google上也沒搜索到類似教程!只有自己看API了,加上就其他平臺的動作感應試試吧!就在這里記錄下收獲吧!
1.發現Android提供了SensorListener接口
2.要使用還得有個動作感應管理器SensorManager

  • //取得SensorManager???? ?
  • SensorManager?sensorMgr?=?(SensorManager)getSystemService(SENSOR_SERVICE);???
  • 3.注冊我們獲得的SensorManager

  • //返回true表示注冊成功,flase則反之???? ?
  • sensorMgr.registerListene(this,SensorManager.SENSOR_ACCELEROMETER,SensorManager.SENSOR_DELAY_GAME);???
  • ?

    如果注冊SensorManager不成功就調用

  • sensorMgr.unregisterListener(this,SensorManager.SENSOR_ACCELEROMETER);??
  • 4.SensorListener必須實現兩個方法

  • public?void?onAccuracyChanged(int?arg0,?int?arg1)?{}???? ?
  • public?void?onSensorChanged(int?sensor,?float[]?values)?{}???
  • 5.自己定義一個3D的坐標

  • class?Pos3D???? ?
  • {???? ?
  • ????float?x;???? ?
  • ????float?y;???? ?
  • ????float?z;???? ?
  • }???? ?
  • Pos3D?cur,last;?
  • ?在方法onSensorChanged中這樣課可以獲得數據

  • cur.x?=?values[SensorManager.DATA_X];???? ?
  • cur.y?=?values[SensorManager.DATA_Y];???? ?
  • cur.z?=?values[SensorManager.DATA_Z];???? ?
  • float?speed?=?Math.abs((cur.x+cur.y+cur.z)-(last.x+last.y+last.z))/?間隔的時間??
  • 下面就是判斷這個speed大于自己定義的一個數值時,進行處理

  • if(speed?>?1000)???? ?
  • {???? ?
  • ????//這里來進行處理???? ?
  • }???
  • 就這樣最基本的實現了動作感應,,但是大家肯定能感覺得到這個方法的不足之處,
    我也還在研究更好的方法,希望一起討論!

    總結

    以上是生活随笔為你收集整理的Android教程之实现动作感应技术的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。