Android重力感應基礎

2021-07-30 08:34:32 字數 1176 閱讀 4254

android中的很多遊戲的遊戲都使用了重力感應的技術,但其api demo卻並沒有重力感應的例項(不知道是不是我沒找到,找到的朋友麻煩告訴我一下,謝謝),因為開發的需要,就研究了一下重力感應這方面,因為網上關於這方面的東西比較少,所以寫出來跟大家交流一下,算是拋磚引玉吧。(ps.因為重力感應式需要真機才能測試的,所以,下面提供的demo程式只能在真機上跑。)因為官方說明比較含糊難懂,我用最簡單的方式講一下android重力感應系統的座標系

以螢幕的左下方為原點(2d程式設計的時候,是以螢幕左上方為原點的,這個值得注意一下),箭頭指向的方向為正。從-10到10,以浮點數為等級單位,想象一下以下情形:

手機螢幕向上(z軸朝天)水平放置的時侯,(x,y,z)的值分別為(0,0,10);

手機螢幕向下(z軸朝地)水平放置的時侯,(x,y,z)的值分別為(0,0,-10);

手機螢幕向左側放(x軸朝天)的時候,(x,y,z)的值分別為(10,0,0);

手機豎直(y軸朝天)向上的時候,(x,y,z)的值分別為(0,10,0);

其他的如此類推,規律就是:朝天的就是正數,朝地的就是負數。利用x,y,z三個值求三角函式,就可以精確檢測手機的運動狀態了。

接下來,用最短的**完成功能,程式效果就是在title上面輸出x,y,z的值。

package com.ray.test;

import android.os.bundle;

import android.hardware.sensormanager;

import android.hardware.sensor;

import android.hardware.sensoreventlistener;

import android.hardware.sensorevent;

public class sensortest extends activity

public void onaccuracychanged(sensor s, int accuracy)

};//註冊listener,第三個引數是檢測的精確度

sensormgr.registerlistener(lsn, sensor, sensormanager.sensor_delay_game);

}}

android遊戲開發之小球重力感應實現

大小: 27.3 kb

Android重力感應器Sensor程式設計

新增當重力變化時的處理函式 在建立 時呼叫的函式 dosomething x,y,z 是自己定義的方法。當手機傾斜方向改變時,會呼叫該方法。我們要做的,就是填充該方法,用於在重力發生變化時進行我們自己的處理。當 x y 0 時,手機處於水平放置狀態。當 x 0 並且 y 0 時,手機頂部的水平位置要...

Android 手機重力感應實現簡單介紹

手機重力感應實現簡單介紹 現在有很多遊戲是通過搖晃手機實現的,比如賽車遊戲 搖骰子遊戲 迷宮遊戲 等等 今天我用簡單的 為大家介紹一下android 下重力感應的實現方式 下面是乙個模擬器的螢幕 y軸 以螢幕的左下方為原點 向上為正 向下為負數 剛好和程式設計時座標是相反的 向下為正 向上為負數 從...

重力感應器

以螢幕的左下方為原點 2d程式設計的時候,是以螢幕左上方為原點的,這個值得注意一下 箭頭指向的方向為正。從 10到10,以浮點數為等級單位,想象一下以下情形 手機螢幕向上 z軸朝天 水平放置的時侯,x,y,z 的值分別為 0,0,10 手機螢幕向下 z軸朝地 水平放置的時侯,x,y,z 的值分別為 ...