手機的眾多感測器中,有一個叫做陀螺儀的,可以用來偵測手機目前在各個方向的移動情形,平時如果靜止的時候,它的3個數值會都趨近於0(但是會因為誤差值而有一些小小數值上的飄動),如果手機有任何的運動時,就會依在3個方向的移動速度給與不同的數值,有可能是正的,也有可能是負的。基於這樣的數值,我們就可以做一個小小的平衡遊戲,看看拿著手機站著10秒鐘不動的情況下,誰的數值是最低的。

先來看陀螺儀所提供的事件的屬性:

我們會用到的是前面3個,因此在設計介面的時候,可以使用3個標籤分別加以顯示,介面設計如下:

除了陀螺儀之外,我們還準備了計時器,一開始也是設定為非啟用狀態,等使用者按下「開始挑戰」按鈕之後才會開始倒數計時,同時每一次觸發計時的時候,都會把「倒數秒數」的內容減1,當減到0的時候,就停止計時,同時也會停止更新平衡數值的內容。計時器的程式內容如下:

開始挑戰按鈕的程式如下:

最後是陀螺儀在更新數值的時候,除了顯示3個角度的值之外,也要把3個數值加起來。由於數值可能是負數,因此在這裡我們使用了絕對值積木,先通通換成正數再相加喔。至於何時要更新平衡數值?答案是,只有在計時器運作的期間才更新,程式積木如下:

這個程式在安裝到手機之後,同學們就可以試試看你的平衡感如何了。

(66)