怎么用scratch做时钟,完整时钟的编程制作步骤

时钟,对于很多小学生来说都是手到擒来的,在家里也是很常见的,所以在我们对时针不陌生的情况下,我们今天用scratch来做个时钟,精确的到每分每秒的转动。怎么用scratch做时钟?今天和mathscoding一起用编程制作完整的时钟。

scratch做时钟的效果

scratch做时钟的效果

做时针前,我们来科普下基本的逻辑概念。

时钟各指针的角度关系:

(1)普通钟表相当于圆,其时针或分针走一圈均相当于走过360°角。

(2)钟表上的每一个大格对应的角度是:30°。

(3)时针每走过1分钟对应的角度应为:0.5°

(4)分针每走过1分钟对应的角度应为:6°。

指针的基本认识:

时针:在这个时钟上是那根蓝色的,它最粗、最短,指向现在几点了。

分针:在这个时钟上是绿色的那根,表示现在是几分钟。

秒针:在这个时钟上就是红色那根,它最长、最细,走得还最快,表示时间一秒一秒的过去了。

用scratch做时钟,完整时钟的编程制作步骤

步骤一、打开scratch软件,把默认角色小猫删除,开始制作自己喜欢的钟表,使用角色添加中的绘制功能制作。

步骤二、进入造型画板后,使用圆形工具画个表盘。这里有个技巧,使用圆形工具时,按住Shift键,可以画出一个标准的圆形。

scratch画钟盘

scratch画钟盘

步骤三、绘制好表盘后,将表盘移动到画板的中央位置,圆心中心点的位置要与画板中心位置完全重合。

步骤四、表盘制作完成后,来给钟表标上刻度。手工绘制标的话,根据小时分成12等份,分钟刻度60等份。具体的时钟刻度制作前面已经写过,可以点击查看《怎样在scratch中制作时钟刻度,用编程画出时钟刻度的方法》;

步骤五、接下来我们来画时针、分针、秒针,分别创建三个角色,同样也是绘制的方式。

步骤六、使用线段工具,按住Shift按键,绘制出竖直的线段,时针的特点是最短最粗的,秒针最长最细,分针长度在他们中间,粗细也如此。

scratch画秒针

scratch画秒针

绘制的时候需要注意的是,指针的起点和造型的中心点完全重合,如果绘制的时候不重合,到时候就会跑偏。所以这个细节很重要,这样才能保证指针在钟表盘的中央。

绘制时针的时候,状态是面向90°的,指向上方。那么每次重新计算,时针的度数都需要从开始计算。先让指针回到指向上方位置,然后再旋转对应的角度,这样旋转度数就不会叠加了。循环让它不停的运行。

步骤七、钟表绘制好了,接下来我们的用编程程序让它动起来。开始写代码了。时针每走动一格是30°,分钟每走动一格是6°,秒针也是6°。结合scratch当前时间积木模块,我们可以知道当前年月日时分秒。

步骤八、角色秒钟的代码,绿旗点击,位置初始到(0,0),新建变量“秒度数”设置初始值为0;面向90方向默认,当前时间旋转的角度,右转,“当前时间的秒…”积木,选择到秒。1秒是走6°的,所以乘以6°。重复执行,每执行一次,右转的度数就得增加6°,一直循环下去,如果“秒度数”旋转到了360°,做个判断,“秒度数”除以360的余数等于0,说明一分钟到了,广播“60秒到了”。

角色秒针的代码

角色秒针的代码

步骤九、角色分钟代码,绿旗点击,位置初始到(0,0),面向90方向默认,当前时间旋转的角度,右转,“当前时间的分…”积木,选择到分。1分是走6°的,所以乘以6°。秒针在走的时候,分针也在走,所以,分钟的开始右转的度数应该是:“当前时间的分…”乘以6°+ “当前时间的秒…”乘以1/60乘以6°;当接收到秒针传过来的“60秒钟到了”,分钟转6°。

角色分针的代码

角色分针的代码

步骤十、角色时钟代码,绿旗点击,位置初始到(0,0),面向90方向默认,当前时间旋转的角度,右转,“当前时间的时…”积木,选择到时。1时是走30°的,所以乘以30°。时针在走的时候,分针,秒针也在走,所以,时钟的开始右转的度数应该是:“当前时间的时…”乘以30°+ “当前时间的秒…”乘以1/60乘以30°+ “当前时间的分…”乘以1/3600乘以30°;

角色时针的代码

角色时针的代码

因为时间是24小时制,这里我们只做了12小时制,如果是当前时间大于12小时,我们就用当前的时间-12小时。否则就按12小时执行。

当收到“60秒到了”的消息,时针右转0.5°;

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

scratch加减法随机运算,scratch中列表的用法出题

2023-5-11 11:52:52

综合资讯

如何用scratch画实心圆,scratch画笔编程画实心圆

2023-5-11 11:53:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索