一、心随我动

第4课 按下开始心跳

任务场景:按下开始心跳
任务场景:按下开始心跳

一、任务目标

短按 T2 一次,进入内层循环后大心/小心一直跳。体验程序 1-3-1 没有再按停止。

二、我们要学什么

  • 学习要点:用 was_touched 捕捉「刚按下」:点一下 T2 就开始心跳
  • 本课过关:点一下 T2 就开始跳,不必按住;停止要看完整代码 1-3-2 或第 5 课。
  • 示例对齐:体验题对应 「1-3-1 按下开始心跳」;完整代码对应 「1-3-2 按下开始停止心跳」。

三、本节要点

本节抓住「刚按下」:was_touched 只在按下那一瞬间为真,适合做启动。体验程序启动后内层 while 一直跳,没有再检测停止。

1读场景明确真实任务
2对要点短按 T2 开始心跳
3载入运行本课积木/代码

四、解题思路

  • 输入:板载按键刚被按下(was_touched)。
  • 输出:点阵大心/小心交替(启动后持续)。
  • 生活对照:按开关启动或停止节拍器。
  • 验证现象:短按 T2 一次后心跳自己一直跳;对比第 3 课「必须按住」。

本课主要用到:点阵屏、板载按键。

  1. 1明确任务「按下开始心跳」:要观察的输入/输出主要是 点阵屏、板载按键。
  2. 2用「重复执行」搭出主循环,让程序一直运行,而不是只执行一次就结束。
  3. 3在循环里判断按键:刚按下用 was_touched(触发一次),按住用 touched(持续有效)。
  4. 4交替显示大/小心形(或表情),形成「心跳」节奏,对照生活场景验证。
  5. 5加入延时(约 0.1 秒/单位),控制节奏,避免画面闪太快或采样过密。
  6. 6载入后先运行,对照「点阵屏」;再只改一处参数看差异。

流程示意(可对照左侧文字)

任务:按下开始心跳搭出主循环,让程序一直运行…在循环里判断按键:刚按下用…交替显示大/小心形(或表情…加入延时(约0.1秒/单位…

五、图形块功能讲解

下面只列出本课首次出现的 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。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:本课体验程序 1-3-1 用 touched 也能做到「点一下就开始、一直跳」。

  2. 判断:was_touched 只在按下边沿为真,适合用短按启动心跳。

  3. 实现「短按一下就开始跳」时,更合适的积木是?

  4. 若改成 touched,按住不放时最可能出现什么?

九、本节小结

记住:was_touched 点一下就开始;本课体验启动后一直跳,停止要看 1-3-2 或第 5 课。