Scratch画笔绘制时钟

2021-08-27 16:12陈新龙
电脑报 2021年25期
关键词:秒针时针分针

陈新龙

本文的创意来自一个Python制作的动态时钟,由于相关知识点难度较大,我们从中学习思路应用在Scratch中。

之前我们已经在Scratch中编写过时钟程序,那次是通过设置数字角色变化与侦测系统时间实现的电子表时钟。本次实验我们提高一些难度完成全动态时钟,用有素材和无素材两种方法显示时针、分针、秒针。

一、有素材

这一种做法需要借助素材和背景,时钟有表盘和指针,因为表盘上存在刻度和数字,比起一根线就可以表示的指针难画不少。表盘的图片素材,我们可以从网上寻找好看的背景图,找一个没有指针的钟表盘,方便我们后边使用画笔绘制指针。

导入表盘角色后,我们便可以在Scratch中用畫笔模块绘制时、分、秒的指针。首先我们需要创建新的空白角色或将小猫角色隐藏使用。时针和分针的颜色都是黑色,秒针的颜色是红色,注意指针的长度要区分正确,时针短粗,秒针最细最长。

理清指针间的角度关系:“秒针:当前时问的秒×( 360/60)”“分针:当前时问的分×(360/60)+当前时间的秒×( 360/60/60)…‘时针:当前时问的时×( 360/12)+当前时问的分×(360/60/12)”。当然指针的绘制算法公式不仅仅存在于一种,大家可以根据自己理解适当地调整算法,毕竟条条大路通罗马,这里只是给大家提供一种思路,最主要的还是理解秒针转一圈时其他指针旋转角度的问题。

二、无素材

这种方法不使用素材,完全用画笔绘制一个时钟包括表盘以及指针,实验中会用到一些三角函数的数学知识(正弦、余弦和正切),难度明显提高了。二角函数的相关知识点如果忘记了,可以上网查阅相关的资料。

首先绘制表盘圆形,表盘是由1360个(x,v)点旋转连接起来的线。R为圆的半径,那么点的坐标可以表示为x=cos*r I y=sin*r;表盘的半径可以白行调整,我设置的大小为150。表盘外圆绘制完成后,开始绘制表盘的刻度,360度的圆分为60秒,360/60=6,所以每i6度画一个刻度,为了好看和便于观察还需要每5个刻度用颜色区分一下。这里我们增加了蓝色和红色的效果能更加清晰地看出时钟表盘的数字变化。

控制指针变化的方法我们也与第一种方法做出区别,用的算法使用到二角函数,大家可以根据自己的知识水平选择。

两种方法都可以绘制出时钟,一种是借助图案背景绘制,另外一种通过数学计算和画笔纯绘制,两种方法难度有差异,大家可以选择适合自己的方法尝试。

猜你喜欢
秒针时针分针
时间很小
怎么做能更好地认识分针和时针运动的联动关系
钟面上的数学问题解法
时针和分针的争吵
钟表上的数学问题
秒针真奇妙
小目标成就大事业
秒针
幸福在葱茏里,在弯腰的镰上