二、点阵与节奏
第5课 流动的灯

一、任务目标
让 12×8 点阵从左到右、从上到下一颗颗点亮,形成「光点流动」;完整代码再体验触摸触发的点阵图案切换。
二、我们要学什么
- 学习要点:嵌套循环扫点阵:外层行 Y、内层列 X,每点亮一颗就 show 并 sleep,节奏一目了然
- 本课过关:能说明双重 for 在点阵上「按行扫过」;改 sleep 能明显加快或放慢流动。
- 示例对齐:体验题对应「04-1 流动的灯」;完整代码对应「04-2 剪刀石头布」。
三、本节要点
本节先把「点阵像素 + 延时」做稳。流动的灯不依赖按键;触摸换图案是完整代码 04-2。
1读场景看清点阵流动
2对要点双重循环扫像素
3载入运行官方示例积木/代码
四、解题思路
- 输入:本课体验无按键,程序自动扫屏。
- 输出:点阵像素逐个点亮。
- 生活对照:广告灯箱一格格亮起。
- 验证现象:从左上角开始按行点亮;改 sleep(0.1) 只改变流速。
本课主要用到:板载点阵(onboard_matrix);完整代码另用触摸。
- 1明确任务「流动的灯」:先看自动扫点,再对照触摸换图案。
- 2外层 for Y in 0..7,内层 for X in 0..11,对 (X,Y) 调用 pixel(...,1)。
- 3每点亮一颗就 matrix.show(),再 time.sleep 控制节奏。
- 4载入后先看流动;完整代码再按 T3 换剪刀石头布图案。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 板载显示 | 控制点阵某一个点的亮灭。 | 体验:pixel(X, Y, 1) 逐点点亮。 |
![]() | 板载显示 | 把缓冲里的像素画到屏上。 | 体验:每次 pixel 后 show。 |
![]() | 控制 | 暂停指定时间,常用于动画节奏。 | 体验:sleep(0.1) 控制流速。 |
![]() | 控制 | 按范围反复执行。 | 体验:外层 Y、内层 X 嵌套。 |
六、知识点讲解
本课用双重循环扫过 12×8 点阵:像用手电筒一格格照过屏幕,延时决定「流动」有多快。
点阵坐标
Zero 板载是 12 列 × 8 行单色点阵。pixel(x, y, 1) 点亮,0 熄灭;必须 show() 才会看见。
嵌套循环 = 扫屏
外层走行、内层走列,保证从左到右、再换下一行。少一层循环就只能亮一条线或一个点。
延时就是节奏
time.sleep(0.1) 让人眼跟得上。改小变快,改大变慢——后面闪烁/动画课也靠同一套节奏感。
- 本课不教 RGB 彩灯:点阵只有亮/灭两态。
- 完整代码 04-2 用
was_touched(3)随机显示三种图案,是「触摸 → 点阵」的延伸。 - 过关:能口述「先 Y 再 X」的扫法,并指出哪一行在控制流速。
先在脑子里走一遍「第 0 行亮完再第 1 行」,再载入示例对照点阵。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:04-1-快速入门-流动的灯.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:本课体验需要按键,灯才会流动。
判断:体验题先扫完一行的列,再换下一行。
体验题点阵扫描顺序是?
本课输出主要是?
九、本节小结
记住:流动的灯靠嵌套循环扫点阵,不是靠 RGB 变色。



