Intoweb
這次我們通過用Scratch做個時鐘來學習和掌握時間積木的用法,理解時間換算和角度換算關系。
1) 舞臺背景選擇:選取一個時鐘表盤作為背景舞臺,請通過網絡搜索圖片“時鐘表盤 卡通”下載一個合適的表盤,導入作為舞臺背景圖片(如圖1)。
2) 角色選擇:時鐘案例里面的時針、分針和秒針通過繪制角色來完成,用圓和長方形比較容易繪制,注意角色中心點在圓心位置,這樣指針才能正常旋轉。如圖2繪制的秒針圖案。
3) 流程設計
當綠旗被點擊,時鐘案例里面的秒針、分針和時針同時運行,呈現的時間與當前電腦的時間一致。
與時間相關的積木在偵測模塊組里面,主要是和時間相關的動作,包括計時器,2000年至今的天數,當前時間的年、月、日、時、分、秒、星期等,如圖3。
每個積木具體的含義如圖4所列:
運用與時間相關的積木,我們可以來完成時鐘程序的編寫。
1) 時鐘指針轉動角度
在編寫時鐘程序之前,需要對時鐘指針的轉動角度和方向進行一個分析。在這里,需要結合數學中的角度知識。
我們可以將時鐘表盤看成一個圓,一周的角度就是360度。如果秒針轉動一圈,那么就是轉動了360度。由此可知:
秒針指針1秒鐘轉過360÷60=6度
以此類推,我們就可以推算出:
1分鐘分針指針轉動360÷60=6度
1小時時針指針轉動360÷12=30度
2) 指針轉動方向
時鐘指針轉動方向由它的轉動角度決定。
a. 秒針的轉動方向:
我們已經知道了秒針指針1秒鐘轉6度,當前時間是多少秒就要面向轉動多少個6度。所以,結合運動模塊的“面向90度方向”和偵測模塊的“當前的時間‘秒”,我們可以確定秒針的方向如圖5。
再加上秒針是每隔1秒轉動一下,系統需要一直重復檢測當前時間。所以,秒針完整的腳本如圖6。
b. 分針的轉動方向:
1分鐘分針指針轉過6度,當前時間是多少分就要面向轉動多少個6度。所以,結合運動模塊的的“面向90度方向”和偵測模塊“當前的時間‘分”,我們可以得到分針的方向是“面向‘當前的時間分*6度方向”。但是,我們還想要將分針的轉動角度精確到每秒鐘的轉動角度,即是需要加上一秒分針的轉動角度。
分針60秒轉過6度,那么1秒就是6÷60=0.1度,即目前時間是多少秒,分針就再轉動多少個0.1度。由于要精確到間隔1秒,加上系統重復一直檢測當前時間,所以,分針完整的腳本如圖7。
c. 時針的轉動方向:
時針指針轉一圈360度經過了12小時,1小時時針指針轉動30度。由于時針每秒鐘轉過的角度太小,我們只需要將時針的角度變化精確到每分鐘的轉動角度。時針每60分鐘轉過30度,那么每分鐘就轉過30÷60=0.5度,即目前時間是多少分,時針就再加多少個0.5度。由于需要精確到分,所以間隔時間就是60秒,加上系統要重復一直檢測當前時間,所以,時針完整的腳本如圖8。
3) 數字時間的顯示
用連接積木把時、分、秒及冒號相連,用“思考”的方式展現出來就可以顯示當前時間的數字形式了。
完成后的時鐘如圖10。