資訊內(nèi)容
Scratch趣味編程-鐘表小程序
先看一下展示,這個(gè)時(shí)鐘做的很精美,鐘表的走時(shí)跟現(xiàn)實(shí)的時(shí)間一樣,同時(shí),秒針?lè)轴樅蜁r(shí)針都是正常在走。秒針每走一步都發(fā)出走動(dòng)的聲音。到了整點(diǎn)的時(shí)候還是根據(jù)時(shí)間進(jìn)行報(bào)時(shí)。

讓我們來(lái)看看程序的細(xì)節(jié):
首先是鐘的背景。這個(gè)背景素材是小編在別人的程序里直接下的。大家也可以網(wǎng)上搜索一下。(關(guān)于圖片素材大家可以注意搜索后綴是.svg的素材,這類素材是矢量圖,導(dǎo)入Scratch后可以放大縮小而不會(huì)失真。如果是普通圖片,放大后就有可能會(huì)失真。)大家可以直接把這個(gè)圖下載下來(lái)做背景。

程序部分為三個(gè)角色,一個(gè)秒針:second,分針:minute,時(shí)針:hour。



看一下這三個(gè)角色的程序
秒 針

大家可以用偵測(cè)里面的目前的時(shí)間獲取當(dāng)前的時(shí)間數(shù)字。

這里面有兩個(gè)關(guān)鍵的地方:
1:秒針的指向,秒針轉(zhuǎn)一圈360度,轉(zhuǎn)一圈需要60秒,所以每秒走6度。那么對(duì)應(yīng)現(xiàn)實(shí)時(shí)間的秒數(shù)乘以6就是秒針應(yīng)該指向的方向。
2:秒針走動(dòng)的聲音,需要做一個(gè)判斷,要判斷當(dāng)秒針發(fā)生移動(dòng)的時(shí)候才發(fā)聲音,所以我們用了一個(gè)變量來(lái)記錄秒。當(dāng)目前的秒變到了下一秒,這時(shí)候就會(huì)播放聲音。(如果不加判斷,直接把播放聲音放在循環(huán)里,大家可以試試看會(huì)發(fā)生什么效果。)
分 針

分針的程序最簡(jiǎn)單,就是確認(rèn)一下當(dāng)前是幾分鐘,然后乘以6就是分針的指向。
時(shí) 針

時(shí)針相對(duì)復(fù)雜一些,因?yàn)闀r(shí)針不是一個(gè)小時(shí)才跳一次,而是不斷在改變。我們假設(shè)每一分鐘時(shí)針都在發(fā)生輕微的位移。那么時(shí)針的指向該怎么做呢?
1:首先確定時(shí)針的位置,第一步先看當(dāng)前是幾點(diǎn),然后乘以30,那么就是時(shí)針在準(zhǔn)點(diǎn)時(shí)對(duì)應(yīng)的指向。
2:然后再看現(xiàn)在是幾分,時(shí)針轉(zhuǎn)一圈一共需要12小時(shí)*60分鐘=720分鐘。所以每分鐘時(shí)針走0.5度。右轉(zhuǎn)當(dāng)前的分鐘*0.5度。

循環(huán)里的程序就是每隔60秒,時(shí)針走0.5度。
下面這段程序是報(bào)時(shí):

1:報(bào)時(shí)發(fā)生在分針和秒鐘同時(shí)為零的時(shí)候,所以做一個(gè)判斷。
2:我們只想敲12下鐘聲以內(nèi),也就是當(dāng)現(xiàn)在是18:00的時(shí)候就只敲6下。所以我們?cè)O(shè)置了個(gè)12hour的變量,來(lái)根據(jù)當(dāng)前的時(shí)間計(jì)算要敲幾下鐘。
3:需要敲幾下就循環(huán)幾次。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除
