友情提示:380元/半年,儿童学编程,就上码丁实验室。
我们昨天学习了Scratch的造型、图章、事件指令。昨天的内容链接:
我们今天通过制作一个时钟来加深对相关知识点的理解,并学习时间和角度的关系。
1、给五分钟时间让孩子们讨论并说出钟表的特征以及要用到的编程知识点
根据不同年龄段孩子情况,孩子们自己总结出来的要点可能不足够或太过天马行空。老师就要正确引导,把钟表分解成以下主要部分:
- 有分钟、时钟的刻度
-
可以用循环、旋转、图章指令来画刻度
-
计算每分钟是多少度,每小时是多少度
- 有时、分、秒的三条针,按照不同的速度旋转
-
用造型工具画不同颜色和粗细的直线
-
用循环来实现秒针不停转动
-
秒针转了一圈就发事件通知分针、时针转动
- 一般是圆形的外表
-
可以用造型工具画圆
-
注意圆的大小要刚好盖住刻度。所以最好画完刻度后再画圆
2、接下来老师来演示怎么画刻度
-
新建一个造型角色,画一条直线,注意按着shift键可以画出完全垂直或水平的直线。
-
调整中心点到直线的最左侧
-
给角色脚本:按绿旗后移动到x=0 y=0,右转360/60度然后图章,重复60次,画出分的刻度。
可以看到把圆分成60分的效果了。下面我们再把中心的部分去掉,只保留外侧比较小的刻度。
-
选择刻度直线的角色,点造型。
-
用橡皮擦把直线左侧的部分擦掉,保留右侧一段较小的长度。
-
在脚本里按绿旗事件后加上清空指令。执行一次看效果。可以在造型里调整直线的长度来测试不同效果。
这时可以看到一个比较理想的分刻度效果了。接下来用同样的方法加上小时刻度。注意是右转360/12度然后图章,重复12次。
3、然后画钟的其他部分
-
依然是通过画不同粗细和长度的直线造型角色作为时针、分针、秒针。关键点是画直线的时候按着shift键,然后调整造型中心点到直线的最左端。再把角色移动到x=0 y=0,这样它们旋转的时候圆心就在画板正中心,并和其他角色中心对称。
-
新建造型角色,选“T”工具后可以打字,输入“3”,调整大小和位置。用同样的方法画出6、9、12刻度。
-
最后就用椭圆工具画圆形表盘。注意按着shift键来画出一个正圆。调整大小和位置。
好了,一个简单但完整的时钟外观完成了。
4、让指针转起来
-
先来让秒针旋转,就是让它每一秒钟右转一圈的60分之一,一圈是360度,所以就是360/60度,并不断重复。记得一开始的时候让它面向0度(向上)方向哦。
-
秒针每转一圈-当回到方向=0度的时候,就发出“一分钟”的消息事件
-
分针收到“一分钟”事件就右转一圈的60分之一,就是360/60度。
-
时针收到“一分钟”事件应该右转多少度呢?我们来计算一下:
时针一小时转一圈的12分之一,就是360/12度;
一小时是60分钟,所以一分钟应该右转360/12/60度。
这时就可以看到指针转起来的效果了。如果按实际时间转动,比较难短时间内观察到时针的转动效果。我们改一下秒针旋转的循环等待时间,比如等待时间由一秒变成0.001秒,这样指针转起来快多了。
选菜单里的“编辑”-“加速模式”,可以让指针转得更快哦。
5、高级挑战 – 如何让时钟显示当前时间?
“侦测”指令集里有一个当前时间的小时/分/秒的指令。可以通过它来取得当前时间的时/分/秒。
不同的时/分/秒对应指针不同的旋转角度。大家先计算一下时间和角度的关系是怎样的,用怎样的编程指令实现呢?
分和秒都是0-60,转一圈是360度,所以:
1分/秒 = 360/60 = 6度
2分/秒 = 2×360/60 = 12度
3分/秒 = 3×360/60 = 18度
……
所以分针和的当前时间的分的关系就是让分针面向“(360/60)*当前时间的分”角度方向。
同样,秒针和的当前时间的秒的关系就是让秒针面向“(360/60)*当前时间的秒”角度方向。
时针角度和的当前时间的关系除了要考虑“时”外,还要考虑“分”,比如2:30的时候,时针应该在2-3刻度的中间,而不是指向2的刻度。所以它的方向由两部分组成:
(360/12)* 当前时间的时
+(360/12/60)*当前时间的分
这样就完成了一个基本的时钟设计了。
6、复习要点、改进和课外作业
记得复习一下今天学习的要点:
- 条件(如果…那么…)、循环、旋转
-
造型里的矩形、椭圆、直线、橡皮擦、设置中心点的使用
-
图章
-
事件 (必须要用好的编程概念)
-
变量-当前时间
-
运算指令
-
时分秒对应的角度关系
-
加速模式
接着,可以让孩子们思考讨论一下可以怎样进一步改进时钟。比如:
-
装饰得更漂亮
-
加上准点报时音乐
-
加上闹钟功能
-
加上日历显示等等
可以让孩子作为一个课外作业,加深对编程、时间和角度知识的了解,以及加强对现实生活的观察和联系。
好了,今天的分享到此为止。以下是参考程序的链接: https://pan.baidu.com/s/1F5_2hvVTLsPwRt0xVcwx8A 密码: fhux
孩子有好作品记得和我们分享哦。