Intoweb
這次我們通過用Scratch做個時鐘來學(xué)習(xí)和掌握時間積木的用法,理解時間換算和角度換算關(guān)系。
1) 舞臺背景選擇:選取一個時鐘表盤作為背景舞臺,請通過網(wǎng)絡(luò)搜索圖片“時鐘表盤 卡通”下載一個合適的表盤,導(dǎo)入作為舞臺背景圖片(如圖1)。

2) 角色選擇:時鐘案例里面的時針、分針和秒針通過繪制角色來完成,用圓和長方形比較容易繪制,注意角色中心點(diǎn)在圓心位置,這樣指針才能正常旋轉(zhuǎn)。如圖2繪制的秒針圖案。

3) 流程設(shè)計(jì)
當(dāng)綠旗被點(diǎn)擊,時鐘案例里面的秒針、分針和時針同時運(yùn)行,呈現(xiàn)的時間與當(dāng)前電腦的時間一致。
與時間相關(guān)的積木在偵測模塊組里面,主要是和時間相關(guān)的動作,包括計(jì)時器,2000年至今的天數(shù),當(dāng)前時間的年、月、日、時、分、秒、星期等,如圖3。

每個積木具體的含義如圖4所列:
運(yùn)用與時間相關(guān)的積木,我們可以來完成時鐘程序的編寫。
1) 時鐘指針轉(zhuǎn)動角度
在編寫時鐘程序之前,需要對時鐘指針的轉(zhuǎn)動角度和方向進(jìn)行一個分析。在這里,需要結(jié)合數(shù)學(xué)中的角度知識。
我們可以將時鐘表盤看成一個圓,一周的角度就是360度。如果秒針轉(zhuǎn)動一圈,那么就是轉(zhuǎn)動了360度。由此可知:
秒針指針1秒鐘轉(zhuǎn)過360÷60=6度
以此類推,我們就可以推算出:
1分鐘分針指針轉(zhuǎn)動360÷60=6度
1小時時針指針轉(zhuǎn)動360÷12=30度
2) 指針轉(zhuǎn)動方向
時鐘指針轉(zhuǎn)動方向由它的轉(zhuǎn)動角度決定。
a. 秒針的轉(zhuǎn)動方向:
我們已經(jīng)知道了秒針指針1秒鐘轉(zhuǎn)6度,當(dāng)前時間是多少秒就要面向轉(zhuǎn)動多少個6度。所以,結(jié)合運(yùn)動模塊的“面向90度方向”和偵測模塊的“當(dāng)前的時間‘秒”,我們可以確定秒針的方向如圖5。


再加上秒針是每隔1秒轉(zhuǎn)動一下,系統(tǒng)需要一直重復(fù)檢測當(dāng)前時間。所以,秒針完整的腳本如圖6。

b. 分針的轉(zhuǎn)動方向:
1分鐘分針指針轉(zhuǎn)過6度,當(dāng)前時間是多少分就要面向轉(zhuǎn)動多少個6度。所以,結(jié)合運(yùn)動模塊的的“面向90度方向”和偵測模塊“當(dāng)前的時間‘分”,我們可以得到分針的方向是“面向‘當(dāng)前的時間分*6度方向”。但是,我們還想要將分針的轉(zhuǎn)動角度精確到每秒鐘的轉(zhuǎn)動角度,即是需要加上一秒分針的轉(zhuǎn)動角度。
分針60秒轉(zhuǎn)過6度,那么1秒就是6÷60=0.1度,即目前時間是多少秒,分針就再轉(zhuǎn)動多少個0.1度。由于要精確到間隔1秒,加上系統(tǒng)重復(fù)一直檢測當(dāng)前時間,所以,分針完整的腳本如圖7。

c. 時針的轉(zhuǎn)動方向:
時針指針轉(zhuǎn)一圈360度經(jīng)過了12小時,1小時時針指針轉(zhuǎn)動30度。由于時針每秒鐘轉(zhuǎn)過的角度太小,我們只需要將時針的角度變化精確到每分鐘的轉(zhuǎn)動角度。時針每60分鐘轉(zhuǎn)過30度,那么每分鐘就轉(zhuǎn)過30÷60=0.5度,即目前時間是多少分,時針就再加多少個0.5度。由于需要精確到分,所以間隔時間就是60秒,加上系統(tǒng)要重復(fù)一直檢測當(dāng)前時間,所以,時針完整的腳本如圖8。


3) 數(shù)字時間的顯示
用連接積木把時、分、秒及冒號相連,用“思考”的方式展現(xiàn)出來就可以顯示當(dāng)前時間的數(shù)字形式了。
完成后的時鐘如圖10。
