极客小将

您现在的位置是:首页 » scratch编程

资讯内容

Scratch趣味编程-钟表小程序

极客小将2021-02-28-
先看一下展示,这个时钟做的很精美,钟表的走时跟现实的时间一样,同时,秒针分针和时针都是正常在走。秒针每走一步都发出走动的声音。到了整点的时候还是根据时间进行报时。

先看一下展示,这个时钟做的很精美,钟表的走时跟现实的时间一样,同时,秒针分针和时针都是正常在走。秒针每走一步都发出走动的声音。到了整点的时候还是根据时间进行报时。

http://caiji.nai.plus/data/images/2021-02-28/c71a178b11a77b70ad3744967865a406.jpg

让我们来看看程序的细节:

首先是钟的背景。这个背景素材是小编在别人的程序里直接下的。大家也可以网上搜索一下。(关于图片素材大家可以注意搜索后缀是.svg的素材,这类素材是矢量图,导入Scratch后可以放大缩小而不会失真。如果是普通图片,放大后就有可能会失真。)大家可以直接把这个图下载下来做背景。

http://caiji.nai.plus/data/images/2021-02-28/79ab9c267dda44a36874703adec51b29.jpg

程序部分为三个角色,一个秒针:second,分针:minute,时针:hour。

http://caiji.nai.plus/data/images/2021-02-28/6ce48a54cbfb3e623bb462fd1b6f3673.jpghttp://caiji.nai.plus/data/images/2021-02-28/94bb3e868e3a5b58534170dc9344923c.jpghttp://caiji.nai.plus/data/images/2021-02-28/ff7dab5497f1b698d53070b2eae0c924.jpg

看一下这三个角色的程序

秒 针

http://caiji.nai.plus/data/images/2021-02-28/3e9473ab8ed83ccf4773869ce0d00269.jpg

大家可以用侦测里面的目前的时间获取当前的时间数字。

http://caiji.nai.plus/data/images/2021-02-28/0eb4473b629003f2c8758affc329f588.jpg

这里面有两个关键的地方:

1:秒针的指向,秒针转一圈360度,转一圈需要60秒,所以每秒走6度。那么对应现实时间的秒数乘以6就是秒针应该指向的方向。

2:秒针走动的声音,需要做一个判断,要判断当秒针发生移动的时候才发声音,所以我们用了一个变量来记录秒。当目前的秒变到了下一秒,这时候就会播放声音。(如果不加判断,直接把播放声音放在循环里,大家可以试试看会发生什么效果。)

分 针

http://caiji.nai.plus/data/images/2021-02-28/9e6cc5afd99a9deeb09ff417c1dfdf6b.jpg

分针的程序最简单,就是确认一下当前是几分钟,然后乘以6就是分针的指向。

时 针

http://caiji.nai.plus/data/images/2021-02-28/b162080181f0dbc8ec68ce46d257aa50.jpg

时针相对复杂一些,因为时针不是一个小时才跳一次,而是不断在改变。我们假设每一分钟时针都在发生轻微的位移。那么时针的指向该怎么做呢?

1:首先确定时针的位置,第一步先看当前是几点,然后乘以30,那么就是时针在准点时对应的指向。

2:然后再看现在是几分,时针转一圈一共需要12小时*60分钟=720分钟。所以每分钟时针走0.5度。右转当前的分钟*0.5度。

http://caiji.nai.plus/data/images/2021-02-28/08c77d3cc5d581e95f9ee22785243375.jpg

循环里的程序就是每隔60秒,时针走0.5度。

下面这段程序是报时:

http://caiji.nai.plus/data/images/2021-02-28/8cc738809bb55eae0101f1331ffb1c00.jpg

1:报时发生在分针和秒钟同时为零的时候,所以做一个判断。

2:我们只想敲12下钟声以内,也就是当现在是18:00的时候就只敲6下。所以我们设置了个12hour的变量,来根据当前的时间计算要敲几下钟。

3:需要敲几下就循环几次。

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除

网友点评

共有5条评论来说两句吧...