前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scratch教程---开发一个时钟

Scratch教程---开发一个时钟

作者头像
drunkdream
发布2024-03-10 09:33:39
1730
发布2024-03-10 09:33:39
举报
文章被收录于专栏:醉梦轩醉梦轩

0x00 前言

本文介绍了如何使用Scratch开发一款实时的时钟程序,通过这个例子,可以让学员加深对时钟运行规律的理解,同时学习到死循环、事件驱动等编程相关的知识点。

0x01 准备工作

需要提前准备好时钟的资源文件:

  • 表盘:
  • 时针:
时针
时针
  • 分针:
分针
分针
  • 秒针:
秒针
秒针

将资源文件保存到本地。

使用浏览器打开Scratch的国内镜像站:https://scratch.drunkdream.cn/

0x02 添加背景和角色

  1. 删除默认角色
  2. 上传表盘图片作为程序背景
  3. 分别上传时针、分针和秒针图片,创建出三个角色

操作完如下图所示:

  1. 调整时针、分针和秒针的转动支点

由于每个角色默认的转动支点是中点,但实际上指针的转动支点是在靠近尾部的位置。可以将角色切换到造型页面,按Ctrl + C全选角色,并按照下图所示拖动角色,使得旋转支点移动到时针尾部位置。

使用同样方法移动分针和秒针的支点。

  1. 时针、分针和秒针设置合适的比例,并移动到表盘的合适位置,使得旋转支点位于表盘中点

设置完如下图所示:

0x03 添加指针转动逻辑

秒针是每秒转动一格,一圈是60格,因此秒针每秒转动360 / 60 = 6度。这可以通过死循环 + 右转6度 + 等待1秒三个组件来实现。

为秒针角色添加如下代码:

分针每小时转动一圈,因此每秒转动360 / 3600 = 0.1度。

为分针角色添加如下代码:

时针每12小时转动一圈,因此每12秒转动0.1度。

为时针角色添加如下代码:

至此,一个最简单的时钟就完成了,各针的转动速度都是符合预期的。

0x04 实现时钟同步

目前时钟时间没有与真实时间同步,需要添加一个同步逻辑。

Scratch支持获取当前时间的时、分、秒,只要才程序开始的时候获取到对应的值,并转动到指定位置即可。

先将时针、分针和秒针转动到0点位置,然后秒针转动秒针数 x 6度;分针转动分针数 x 6度;时针先转动小时数 x 30度(360 / 12),然后再转动分针数 x 0.5度(360 / 12 / 60)。

完整的代码如下:

  • 时针

  • 分针
  • 秒针

0x05 总结

这个例子的代码整体不算很复杂,主要是需要了解时针、分针和秒针的运行规律,并转换为对应的计算公式。

完整的代码可以在这里下载。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
    • 0x01 准备工作
      • 0x02 添加背景和角色
        • 0x03 添加指针转动逻辑
          • 0x04 实现时钟同步
            • 0x05 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档