2010/3/12

Corona SDK - Accelerometer


Accelerometer重力加速計,也就是一般俗稱的G-sensor

Corona SDK所提供的Accelerometer十分週全,並非只有三個重力計的指數而已。(不像某知名品牌… XD)
主要由兩種event取得
.orientation
.accelerometer


Orientation比較單純,是當手機擺放角度改變時,才會通知,適合用在像瀏灠器轉向時,網頁自動轉面的這種應用。Orientation可從event.type得知目前手機被擺成哪一面,共有六種可能性:
.portrait
.landscapeLeft
.portraitUpsideDown
.landscapeRight
.faceUp
.faceDown
範例


注意:faceUp, faceDown這兩種要在實機上能得到。


Accelerometer則是隨時監聽所有的變化,能取得sensor所有數值

.event.xGravity -- x軸重力值,範圍 1至-1
.event.yGravity -- y軸重力值
.event.zGravity -- z軸重力值

.event.xInstant -- x軸瞬間加速值,範圍 1至-1
.event.yInstant -- y軸瞬間加速值
.event.zInstant -- z軸瞬間加速值
.event.isShake -- 搖動,以true/false表示
x, y, zGravity比較單純,就是看手機目前的傾斜狀況來反映
x, y, zInstant則是瞬間加速值,平常得到的值都很小,但當手機有快速晃動、甩動時,才會表現出來

範例:

注意:Accelerometer及native.newTextBox要在實機上能作用。

補充:system.setAccelerometerInterval是sensor靈敏度之設定,可設10~100,數字愈大靈敏度愈高。需注意有時設太高會跑不動(app直接跳掉)


做一個小球滾來滾去的範例:




沒有留言: