四、接金币游戏
第13课 飞机游戏-显示飞机

一、任务目标
在点阵上用像素拼出能认出来的小飞机。体验题自动平移 X;完整代码用 T2/T3 左右移动。
二、我们要学什么
- 学习要点:用几个亮点拼飞机,constrain 把 X 留在屏内;先擦旧位置再画新位置
- 本课过关:点阵上出现对称小飞机;完整代码按 T2/T3 能左右移且不画出屏。
- 示例对齐:体验题对应 「4-1-1 飞机游戏-显示飞机」;完整代码对应 「4-1-2 飞机游戏-移动飞机」。
三、本节要点
本节在点阵上画飞机,不是彩屏。先擦后画,画机体的像素不要写进擦除 for 里面。
四、解题思路
- 输入:体验:for 自动改变本机 X;完整代码 T2/T3 左右移。
- 输出:点阵底部的小飞机(机头一格、两翼各一格)。
- 生活对照:先看见棋子,再谈怎么走。
- 验证现象:能认出飞机外形;X 被夹在安全范围,不会缺翼。
本课主要用到:点阵屏;完整代码加板载按键。
- 1明确任务「显示飞机」:输出是点阵,不是彩屏。
- 2显示我机:先 constrain X,再 for 擦旧点,然后点亮机身和机翼。
- 3擦除循环里只灭灯,点亮四格放在 for 外面,否则每擦一格就整架重画。
- 4载入后先认形状;完整代码再按键平移。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 数学 | 把数值夹在最小值与最大值之间。 | 本机 X 限制在 1~屏幕X最大值-1,给机翼留宽。 |
六、知识点讲解
飞机游戏第一步不是射击,而是在点阵上画出能认出来的小飞机。看得见机体,后面才能谈左右移动。
用像素拼外形
飞机不是一张现成图片,而是若干亮点的组合:例如机头一格、两翼左右各一格。以「本机 X 坐标」为中心去点亮周围像素,X 一变,整架飞机一起平移。
constrain 把飞机留在屏内
X 太小会画出屏幕左边、太大则缺翼。math constrain 把坐标夹在最小~最大之间(还要给机翼留出宽度)。先显示、再移动时,这条限制仍然有效。
先擦后画
移动前要把旧位置的点灭掉,再在新位置点亮,否则会拖出一条「残影飞机」。完整示例「移动飞机」就是在本课图形上改 X 并重画。
- 屏幕坐标系:x 左右、y 上下,原点约定要和示例一致,机头朝向才不会画反。
- 体验题会自动平移 X 让你看清外形;按 T2/T3 移动是完整代码。不要两步并一步抄混。
- 过关:点阵上出现对称的小飞机,X 被限制在安全范围;能指出哪几个 pixel 构成机身和机翼。
先在纸上点出飞机亮点再对照程序,然后载入示例看点阵是否同形。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
4-1-1 飞机游戏-显示飞机.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:本课要在彩屏上画出彩色飞机。
判断:移动前要先把旧位置像素熄灭,再在新位置点亮,否则会拖残影。
constrain 在本课的作用是?
点亮机头和两翼的像素应放在?
九、本节小结
记住:点阵上先看见飞机。擦完再画,X 用 constrain 留在屏内。
