倒数计时器 ( 基本版 )
虽然只要透过重复循环就能做到“倒数计时”的效果,但若要具有更为弹性的设定功能 ( 让用户手动调整到数分钟与秒数 ),就比较不容易实现,这篇教学会介绍使用变数的调整滑杆,搭配角色造型名称和广播机制,实现可以调整的基本倒数计时效果。
快速导览:
绘制角色造型
使用 Scratch 内建的猫咪作为角色,切换到“造型”页签,删除第二个造型,保留第一个造型,并将造型名称改成 start。
复制第一个造型,将复制的造型改名为 stop。
变数设定
回到程序页面,从左侧积木清单中新增四个变数,变数名称分别是:分钟、秒、显示分钟和显示秒,将分钟与秒这两个变数勾选“显示”,另外两个变数取消勾选。
使用鼠标在舞台的变数上按下“右键”,将类型选择为“滑杆”。
设定为滑杆后,继续按右键选择“变更滑杆数值范围”,将“秒”变数的数值范围设定为 0~59,“分钟”变数的数值范围设定为 0~99。
完成后将猫咪、分钟变数、秒变数按照下图排列在舞台上 ( 可以搭配简单的舞台背景,例如 click 的指示线 )。
积木程序原理
点击猫咪角色,设定点击绿旗时定位在中心点,并将分钟与秒变数设为 0,造型设定为 stop,点击角色时切换造型 ( 如果是 start 就变成 stop,如果是 stop 就变成 start ),停止其他所有重复循环后,将目前的造型名称,作为广播信号发送出去。
新增收到广播 start 要执行的动作,收到广播后,执行重复循环,循环中每个一秒会将“秒”变数减少 1,并在秒和分钟都为 0 时停止循环,减少的过程中使用逻辑判断计算是否要减少分钟数,以及秒数归零时切换为 59 秒重新倒数。
从左侧新增一个名为“时间补零”的函数 ( 有没有勾选执行完毕再更新画面都可以 ),这个函数会负责将个位数字前方补 0。
函数内容先将“显示秒”的数值设定为“秒”,如果小于 10 就将前方补 0,并用同样的方式处理“显示分”变数数值,完成后让角色说出目前的时间。
参考下图,在收到 start 广播信号得程序里执行函数,并在重复循环结束后说出“时间到”以及切换造型为 stop。
最后设定收到 stop 广播信号时,讲出目前的时间,后方用字串组合的方式补上“( 暂停 )”两个字,提示目前的倒数是暂停状态。
完成效果
所有角色的程序都完成后,点击绿旗,使用鼠标拖拉滑杆设定倒数时间,点击猫咪后就会开始倒数计时,过程中点击猫咪也可以暂停倒数,或者调整滑杆也可以一面倒数一面修改倒数时间。
微信扫码关注
抖音扫码关注