一、心随我动
第4课 按下开始心跳

一、任务目标
短按 T2 一次,进入内层循环后大心/小心一直跳。体验程序 1-3-1 没有再按停止。
二、我们要学什么
- 学习要点:用 was_touched 捕捉「刚按下」:点一下 T2 就开始心跳
- 本课过关:点一下 T2 就开始跳,不必按住;停止要看完整代码 1-3-2 或第 5 课。
- 示例对齐:体验题对应 「1-3-1 按下开始心跳」;完整代码对应 「1-3-2 按下开始停止心跳」。
三、本节要点
本节抓住「刚按下」:was_touched 只在按下那一瞬间为真,适合做启动。体验程序启动后内层 while 一直跳,没有再检测停止。
四、解题思路
- 输入:板载按键刚被按下(was_touched)。
- 输出:点阵大心/小心交替(启动后持续)。
- 生活对照:按开关启动或停止节拍器。
- 验证现象:短按 T2 一次后心跳自己一直跳;对比第 3 课「必须按住」。
本课主要用到:点阵屏、板载按键。
- 1明确任务「按下开始心跳」:要观察的输入/输出主要是 点阵屏、板载按键。
- 2用「重复执行」搭出主循环,让程序一直运行,而不是只执行一次就结束。
- 3在循环里判断按键:刚按下用 was_touched(触发一次),按住用 touched(持续有效)。
- 4交替显示大/小心形(或表情),形成「心跳」节奏,对照生活场景验证。
- 5加入延时(约 0.1 秒/单位),控制节奏,避免画面闪太快或采样过密。
- 6载入后先运行,对照「点阵屏」;再只改一处参数看差异。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 板载传感 | 边沿检测:这一瞬间是否刚按下(适合触发一次动作)。 | 本课编程练习中首次使用,载入后可在工具箱对照。 |
![]() | 控制 | break 结束循环,或 continue 进入下一轮。 | 体验 1-3-1 没有 break;完整代码 1-3-2 才用它停心跳。 |
六、知识点讲解
本课核心是边沿触发启动:was_touched 为真后进入内层循环,大心/小心各停 0.1 秒交替。体验题 1-3-1 启动后不再查按键。
was_touched(边沿)
只在按下的那一瞬间为真,不会因为按住不放而连续触发。适合做开关、开始/停止。
开始之后怎么办
体验程序启动后内层循环没有 break。要再按停止,须看完整代码 1-3-2(内层再查 was_touched 后跳出)或第 5 课用变量记状态。
跳出循环
完整代码 1-3-2 在内层心跳里再检测 was_touched,为真就 break。体验题没有这块。
- 用短按验证:点一下 T2 就开始跳;不要用 touched 代替,否则会变成「按住才进内层」。
- 过关:能说明 was_touched 与 touched 的差别,并指出体验程序启动后为何停不下来。
会用「点一下」之后,下一课用变量把状态记住,并分给两个键。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读自学精讲与解题思路,再点载入。
1-3-1 按下开始心跳.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:本课体验程序 1-3-1 用 touched 也能做到「点一下就开始、一直跳」。
判断:was_touched 只在按下边沿为真,适合用短按启动心跳。
实现「短按一下就开始跳」时,更合适的积木是?
若改成 touched,按住不放时最可能出现什么?
九、本节小结
记住:was_touched 点一下就开始;本课体验启动后一直跳,停止要看 1-3-2 或第 5 课。

