目錄 購物車 {{currentCart.getItemCount()}}

oplate App 分享區

 

銀髮樂活  /  職能治療  /  運動健身  /  程式教育  /  app客製化

 

程式教育 > 基礎課程 > Lesson10 / 回家功課03

功課大綱

1.  G-Sensor應用練習

 

功課內容

1.  我們用影片中保持平衡的遊戲來熟悉G-Sensor數值的變化。

     小黑盤原本保持水平,當有傾斜時,往傾斜的方向會亮起紅燈。
     先練習前後左右四個方向的傾斜就好,試著自己做做看,然後匯出用手機測試成果,是不是和影片中一樣。

提示:
我們需要兩個資訊,一個是往四個方向傾斜時的G-Sensor值是多少?這個我們可以用Lesson09的app實地來觀察。
另一個是四個方向的顯示燈號是多少?這個可以用Lesson07的app來選擇我們想要的燈號。

參考解答說明

1.  參考解答Lesson10(.aia檔)

     我們從Lesson09開始,另存專案新名稱為「Lesson10」,App名稱為「GSensor應用」。

     Lesson09「畫面編排」中的元件都保留,只是稍微調整一下位置。
     然後加進了「滑桿」調整靈敏度和「標籤」顯示靈敏度。
     另外還要一個「計時器」,「計時間隔」設定為100,我們想要每0.1秒偵測一下當下的傾斜度。
     和一個按紐啟動「計時器」。

2.  在開始製作前,我們可以用Lesson09的app觀察一下當小黑盤前後左右傾斜時G-Sensor的變化。

            我們以蜂鳴器孔在左邊為基準。
            可以發現,在水平時,Gx和Gy幾乎是0、Gz差不多是1。

            從水平往前翻轉時,Gy保持在0左右、Gx從0慢慢變成-1。

            從水平往後翻轉時,Gx從0慢慢變成1。

            同理,從水平往左右翻轉時,Gx幾乎保持在0左右,而Gy會從0往-1變小(往左翻轉)。

            或Gy從0往1變大(往右翻轉)。

3.  前後左右傾斜時G-Sensor數值的變化已經知道了,我們還需要知道顯示燈號的號碼。
     想要用甚麼燈號來表示前後左右其實都可以,這裡我們是用前(36928)、後(521)、左(4104)、右(32769)來表示。

     接下來進入「程式設計」。
     圖為完整程式方塊。

4.  當我們前後左右轉動小黑盤時,超過某個傾斜角度就會亮起相對應的燈號。
     這個傾斜的程度在這裡我們視為靈敏度,靈敏度高的時候,只要一點傾斜就會亮燈,靈敏度高的時候,傾斜角度要大一點才會亮燈。
     這個傾斜角度就是Gx或Gy的數值變化量。

     「滑桿」元件屬性中已經設定了從0.1到0.5的範圍來代表靈敏度,由移動「滑桿」來控制,我們只要小數點後一位就好。

     Gx往後傾斜從水平到垂直期間的數值是從0到1,若靈敏度是0.1,表示只要傾斜9度就會亮燈。

     當設定好靈敏度,按「平衡偵測」按鈕啟動計時器,計時器就會每0.1秒偵測一次目前的傾斜度來判斷要亮什麼燈號。

5.  接下來以Gx來說明。
     當往後傾斜超過設定的靈敏度時(譬如靈敏度設定為0.1),小黑盤就會亮起朝傾斜方向的燈號(亮燈號碼為521)。
     但當往前傾斜時,Gx值是從0到-1,所以是要超過-0.1時要亮燈,亮燈號碼為36928。

     Gy部分也是如此。

6.  最後,保持水平時(Gx和Gy的值在設定的靈敏度以內時)不要有亮燈。
     以靈敏度為0.1為例,同時滿足-0.1<Gx<0.1和-0.1<Gy<0.1的條件時,就要把燈關掉。

7.  以上就是這次回家功課的說明。