国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁 » scratch編程資訊

資訊內(nèi)容

Scratch第三十三講:鐘表小程序-電子鐘

極客小將2021-03-01-
上一講講了指針式的電子鐘的小程序,今天跟大家展示一下電子鐘的小程序,看看兩者有什么不一樣的地方。

上一講講了指針式的電子鐘的小程序,今天跟大家展示一下電子鐘的小程序,看看兩者有什么不一樣的地方。

https://cdn.china-scratch.com/timg/181209/141I55W6-0.gif

這個(gè)程序跟之前的指針明細(xì)不一樣了,指針相對好做,只要計(jì)算每個(gè)指針當(dāng)前時(shí)間所對應(yīng)的角度就好。這個(gè)需要根據(jù)當(dāng)前時(shí)間把對應(yīng)的數(shù)字時(shí)間顯示出來。

這個(gè)程序有幾個(gè)部分需要注意:

1:一共四個(gè)時(shí)間數(shù)字,需要根據(jù)當(dāng)前的時(shí)間,算出每個(gè)數(shù)字各為多少。然后將四個(gè)位置放上不同的數(shù)字。

2:綠色的小圈里的是動態(tài)閃爍,表示時(shí)鐘在走。

3:右下角藍(lán)色的地方是根據(jù)當(dāng)前時(shí)間判斷是上午還是下午。上午時(shí)Am,下午是Pm。

upload/article/images/2021-03-01/4aa41a1d5cd135326ab86ffa19925578.jpg

第一部分比較難做,因?yàn)橐环矫婷總€(gè)數(shù)字都有多個(gè)可能,比如小時(shí)和分鐘的個(gè)位數(shù)字是從0~9,10個(gè)選擇,分鐘的十位是從0~5,7個(gè)選擇。我們有兩種選擇:

1:將四位數(shù)字分別創(chuàng)造不同的角色,然后根據(jù)當(dāng)前的時(shí)間讓每一個(gè)角色變換造型。這種方法相對簡單,麻煩的是每個(gè)角色都有很多重復(fù)的造型。

2:還有一種方法是只用一個(gè)角色,但通過克隆的方式生成另外幾個(gè)角色,然后每個(gè)克隆體顯示與當(dāng)前時(shí)間對應(yīng)的造型。

在這個(gè)程序里,我們使用第二種方法。

程序里的三個(gè)角色。

upload/article/images/2021-03-01/66b116b3500a92b06cbe5389f77f2c7c.jpg

我們看看角色一的造型:

upload/article/images/2021-03-01/00941e675ac266e211fc2b160b9d402c.jpg

其實(shí)這里面就是十個(gè)數(shù)字的造型,外加一個(gè)空白造型,作為克隆體的母體。(特別注意的是前面9個(gè)造型的編號本身就和數(shù)字相等,而第十個(gè)造型的實(shí)際數(shù)字是零。所以當(dāng)你想顯示數(shù)字0的時(shí)候,需要調(diào)用的是第10個(gè)造型而不是第零個(gè)。)

角色三的造型:

upload/article/images/2021-03-01/307d292d108f078cdef875c7b1862aa7.jpg

背景的圖片:

upload/article/images/2021-03-01/8db57074a886f5a18f4ee2761e99e725.jpg

先看簡單部分的程序:

這是角色三的程序,用來表示上午還是下午,Am或是Pm。

upload/article/images/2021-03-01/e806d73bf3e3861125fe61042a302857.jpg

這部分角色很簡單,就是不斷判斷變量"Am?",如果這個(gè)變量是true,那么就切換成am的造型,如果這個(gè)變量是false,那么久切換成pm的造型。(至于這個(gè)變量的值如何得來的,會在角色一里進(jìn)行賦值。)

角色二的程序:

upload/article/images/2021-03-01/5e8466353912d837e44788705dc4ef40.jpg

角色二就是閃爍,每個(gè)一秒鐘閃爍一次。

角色一的程序:

upload/article/images/2021-03-01/cb1a150c6f7274033f55a5e2a6994787.jpg

是不是看著很復(fù)雜。讓我們仔細(xì)看看由那幾部分組成的。

第一部分:先把當(dāng)前時(shí)間的小時(shí)數(shù)字取出來,比如現(xiàn)在是11點(diǎn),那hour1為10位,hour2為個(gè)位。分別代表小時(shí)的兩個(gè)數(shù)字。其中請大家注意換算,如果當(dāng)前時(shí)間是12點(diǎn)到晚上24點(diǎn)之間則為Pm的時(shí)間,需要換算到0~12。這部分程序大家可以自己看一下。(中午12點(diǎn)按照規(guī)定屬于pm的時(shí)間段)

upload/article/images/2021-03-01/03734aafee6a8a9cba4445e4723dd584.jpg

如何取當(dāng)前時(shí)間的具體時(shí)和分用下面的命令。

upload/article/images/2021-03-01/221fd394d4a5e9983b550c9f3243f586.jpg

比較不好理解的是后面兩段程序:

upload/article/images/2021-03-01/356c3eff24ed2784581b4bcf16c67b44.jpg

這一段程序是執(zhí)行克隆操作。一個(gè)循環(huán)執(zhí)行4次克隆。然后不斷循環(huán)。這里面有一個(gè)clone id的變量,其目的就是要告訴每一個(gè)克隆體,其對應(yīng)的是四個(gè)顯示數(shù)字的哪一個(gè)。每次克隆都對應(yīng)了一個(gè)數(shù)字的顯示。所以這段程序?qū)嶋H上就是根據(jù)當(dāng)前的時(shí)間,不斷在刷新這四個(gè)時(shí)間數(shù)字(不斷在每個(gè)顯示位置上調(diào)用不同的造型)。

再看克隆體內(nèi)部的程序。

upload/article/images/2021-03-01/733a5cc235aa016b9e6aeae32f4b6dbc.jpg

當(dāng)克隆體啟動時(shí),先判斷clone id,如果id等于1,就是第一位數(shù)字顯示,那么克隆體切換成對應(yīng)的造型,就是hour1。但是注意,如果是0的情況下,就不能用變量hour1放在參數(shù)里,只能選取造型0,也就是第10個(gè)造型。(注意要把克隆的位置先選好,對應(yīng)在背景上應(yīng)該放的位置)

upload/article/images/2021-03-01/162465c5b2261e141861a6870fe0f07b.jpg

當(dāng)clone id等于2的時(shí)候,就是要顯示hour2。跟上面程序的方法一樣。

upload/article/images/2021-03-01/f88f2217ac4d4c5b58517e3a7a57db9c.jpg

當(dāng)clone id=3的時(shí)候,那么先取分的十位。這個(gè)的方法就是用當(dāng)前的分鐘數(shù)除以10,再向下取整。在運(yùn)算積木里面的下面這個(gè)積木可以實(shí)現(xiàn)。

upload/article/images/2021-03-01/1ad8c1ff73f8869d57410fdba530e391.jpg

upload/article/images/2021-03-01/8c53753a14a464dce0edc8de85c0ac27.jpg

當(dāng)clone id=4的時(shí)候,就是顯示分鐘的個(gè)位,這個(gè)可以用當(dāng)前的分鐘數(shù)除以10的余數(shù)得到。

upload/article/images/2021-03-01/b596e33f0cb18e34f9abb2a50e6de8ed.jpg

同樣如果有顯示0的時(shí)候,需要調(diào)用0的造型。

最后這個(gè)語句大家可能不太理解,這里的意思是每個(gè)克隆體持續(xù)的時(shí)間,也就是0.3秒,也就是每個(gè)克隆體保留的時(shí)間是0.3秒。大家可以注意到每次變化時(shí)間的時(shí)候老的時(shí)間還保持了0.3秒。如果這個(gè)時(shí)間設(shè)置太長,大家就會發(fā)現(xiàn)時(shí)間在變化的時(shí)候,顯得不順暢,如果太短,又會發(fā)現(xiàn)這幾個(gè)數(shù)字不斷再閃爍,所以要設(shè)置合理的時(shí)長。

upload/article/images/2021-03-01/6f6572993514553a83a17da6b3ab6233.jpg

好了,今天這個(gè)程序就跟大家講解完了,大家如果有興趣可以把年月日或者秒鐘也做進(jìn)去看看。看看應(yīng)該怎么設(shè)計(jì)比較好。

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 雷州市| 赞皇县| 万荣县| 南陵县| 新晃| 榕江县| 丹江口市| 岑巩县| 平邑县| 泰宁县| 南澳县| 平和县| 建始县| 徐水县| 界首市| 平昌县| 嵩明县| 江孜县| 依兰县| 章丘市| 米林县| 绍兴县| 漠河县| 塔城市| 绵阳市| 台安县| 赤峰市| 广南县| 涿州市| 清远市| 苏尼特左旗| 建宁县| 万州区| 邢台县| 樟树市| 阜新市| 遵化市| 横峰县| 扬州市| 封开县| 丽水市|