二、点阵与节奏

第6课 触摸变灯

任务场景:触摸变灯
任务场景:触摸变灯

一、任务目标

用滑动触摸控制点阵底行亮灯长度:手指左滑/右滑,亮条跟着变长变短。

二、我们要学什么

  • 学习要点:touch_slide 映射到 0~12:math_map 把滑动值变成点阵列数,再 for 点亮/熄灭
  • 本课过关:滑动时底行亮灯长度明显跟随;能指出 map 的输入范围与输出列数。
  • 示例对齐:体验题对应「08-02 触摸变灯」;完整代码对应「08-01 模拟触摸」。

三、本节要点

本节抓住「滑动 → 点阵条」。08-02 画底行进度条;08-01 把滑动值居中显示成数字。

1读场景滑动变亮条
2对要点map 到列数
3载入运行官方示例积木/代码

四、解题思路

  • 输入:板载滑动触摸 touch_slide()。
  • 输出:点阵第 0 行亮灯长度;完整代码显示滑动数值。
  • 生活对照:音量条、进度条跟着手指走。
  • 验证现象:滑到一端亮满 12 格,另一端几乎全灭。

本课主要用到:触摸(onboard_bot)、点阵。

  1. 1明确任务「触摸变灯」:滑动决定亮多少格。
  2. 2用 math_map 把 touch_slide(-100~100) 映到 0~12。
  3. 3前 X 列 pixel(...,1),后面 pixel(...,0),每次 show。
  4. 4完整代码可改为 shows(滑动值) 直接看数字。

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

任务:触摸变灯读取 touch_slidemap 成列数并画条载入运行对照

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
触摸滑动(touch_slide)
板载传感读取滑动手势连续值。体验:map 到 0~12 列。
映射(math_map)
数学把一范围数值线性映射到另一范围。体验:(-100,100)→(0,12)。
点亮像素点
板载显示控制单点亮灭。体验:底行画进度条。

六、知识点讲解

本课把滑动触摸变成看得见的亮条:手指位置 → 数字 → 点阵列数,点阵只有亮灭,没有彩色变灯。

touch_slide

返回约 -100~100 的连续值,表示左右滑动位置,不是麦克风,也不是加速度。

线性映射

math_map 把滑动区间压到 0~12,才能对应 12 列点阵。映射错了,条会跳或顶满。

画条与刷新

先点亮 0..X-1,再熄灭 X..11,每步 show,亮条才会「跟手」。

  • 完整代码 08-01 更简单:直接把滑动值 shows 到点阵,便于核对传感器读数。
  • 过关:滑动时底行长度跟随,能说出 map 两端数字的含义。

先确认滑动有读数,再谈把它画成亮条。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

官方示例:08-02-输入输出-触摸变灯.mix。载入后运行。

八、课堂练习

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

  1. 判断:本课用麦克风音量控制亮条。

  2. 判断:体验把 touch_slide 映射成列数再点亮。

  3. 体验题输入是?

  4. 本课「变灯」指的是?

九、本节小结

记住:触摸变灯是滑动控制点阵亮条,不是彩灯变色。