TQC+ 創意 App 程式設計認證指南 301 指針式時鐘
1. 題目說明:
請開啟 IND03.aia 專案,設計「指針式時鐘」程式。Canvas 元件會自動根據系統時間資訊,繪製類比式時鐘,需有秒針、分針與時針,並將時間顯示於 Screen 的 Title 狀態列。同時 Canvas 元件的背景顏色會每分鐘隨機更換。請依下列題意完成作答,並製成封裝檔 IND03.apk,作答完成,請將 aia 專案檔及 apk 封裝檔皆下載並儲存於 C:\ANS.CSF 原專案的資料夾内。
2. 設計說明:
(1) 請於 Screen1 頁面中,加入一個 Canvas 元件,長、寬皆為 320 像素。Canvas 畫布元件的背景顏色會每分鐘隨機更換,顏色可自訂。並會將系統時間以 (HH:MM:SS) 的格式顯示於 Screen 的 Title 狀態列 。
(2) Canvas 元件需要根據 Clock 元件取得的時間資訊來繪製類比式時鐘,意即有時針、分針與秒針。針對分針與秒針,每次轉動均以 6 度為單位 (360 度 / 60 分或秒),針對時針,每次轉動均以 30 度為單位 (360 度 / 12 小時),並以錶盤中心為轉動圓心。
(3) 計算指針端點 (x, y) 的公式如下:
a. x = 圓心 x 座標 + sin(指針方向角) * 指針長度
b. y = 圓心 y 座標 – cos(指針方向角) * 指針長度
P.S. 第三點的公式就是在講第四點的秒針、分針和時針的公式,只是代入不同參數而已。
(4) 計算秒針、分針與時針的公式如下:
a. 秒針公式:
x = 160 + sin(秒數 * 6) * 160
y = 160 – cos(秒數 * 6) * 160
b. 分針公式:
x = 160 + sin(分數 * 6) * 140
y = 160 – cos(分數 * 6) * 140
c. 時針公式:
x = 160 + sin((小時 / 12 的餘數) * 30 + (分數 / 2 的商)) * 120
y = 160 – cos((小時 / 12 的餘數) * 30 + (分數 / 2 的商)) * 120
3. 執行結果參考畫面:
(1) 程式初始畫面,秒針、分針與時針會正確根據時間轉動。
(2) Canvas 背景顏色會每分鐘隨機更換。