Day 19 ( 中级 ) 阵列点灯 ( 动画 )

阵列点灯 ( 动画 )

教学原文参考:阵列点灯 ( 动画 )

这篇文章延续「阵列点灯 ( 显示图形 )」文章,继续介绍使用「阵列」积木,搭配「回圈」和「点亮」积木,让 micro:bit 能将阵列显示的图形,变成上下左右可移动的动画。

相关文章参考:阵列点灯 ( 显示图形 )阵列回圈点亮

积木程序原理

参考「阵列点灯 ( 显示图形 )」文章,开启阵列点灯范例。

范例:阵列点灯 ( 显示图形 ) - 点灯版

micro:bit - 阵列点灯 ( 动画 )

在画面中新增一个「重复无限次」积木,将启动中的计次回圈移动到重复无限次积木里,在计次回圈结束後,加入「插入到索引值」以及「取得并移除最末项目」,就能把第一层阵列的最後一个项目,移到最前面。

micro:bit - 阵列点灯 ( 动画 )

完成後,启动 micro:bit,就会看见图案「从上往下」移动。

micro:bit - 阵列点灯 ( 动画 )

如果要改成水平方向移动,就需要再度使用「计次回圈」读取第一层阵列的内容,读取後,把最後一个项目移动到第一个项目,就能做出水平方向移动的动画。

micro:bit - 阵列点灯 ( 动画 )

完成後,启动 micro:bit,就会看见图案「从左到右」移动。

micro:bit - 阵列点灯 ( 动画 )

加入按下 A、B 和 A+B 按钮控制动画移动的程序,按下 A 按钮时设定 type 变数为 2,按下 B 按钮时设定 type 变数为 1,,按下 A+B 按钮时设定 type 变数为 0。

micro:bit - 阵列点灯 ( 动画 )

修改刚刚的动画程序,加入逻辑判断,判断如果 type 等於 1,就往右移动 ( 最後一个项目移动到第一个项目 ),如果 type 等於 2,就往左移动 ( 第一个项目移动到最後一个项目 ),因为只判断 type 等於 1 或 2,所以如果 type 等於 0 就不会执行动画的程序。

micro:bit - 阵列点灯 ( 动画 )

完成後,启动 micro:bit,就能够用 A、B 按钮控制灯号移动 ( AB 同时按下就会停止动画)。

micro:bit - 阵列点灯 ( 动画 )

范例解答

实作「阵列点灯 ( 动画 )」的小技巧

  • 为什麽要使用「阵列」呢?

    使用阵列可以轻松完成「大型」( 超过 5x5 ) 的图案,以及进行较为复杂的动画效果或图案效果。

  • 「阵列」可以应用在哪些地方呢?

    熟悉阵列操作之後,能够应用於较为复杂的游戏、灯号图形设计、长条图...等,特别是跟灯号相关的游戏,都会看到大量的阵列操作。

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  Vue.js 从零开始:This 是什麽?

>>:  MLOps在金融产业:看懂金融审计如何导入ML专案(附所需文件清单)

Day4 资料储存 - file storage基础

file storage 一种让人易於了解的储存方式 在学完Block storage之後,是否发现...

Day23 URLSession 03 - PUT / PATCH

PUT / PATCH:修改资料 一样的模式再来一次,根据以上的Reqres API 来示范 首先一...

[前端暴龙机,Vue2.x 进化 Vue3 ] Day7. Vue资料的使用方式

Vue资料的使用方式 在前一篇中,我们已经会一些用来表示内容的方式了,但仅仅只是呈现~ 所以今天就会...

关於除错这件事

发达的工具会剥夺人的能力,能力被剥夺後经验会开始狭隘,狭隘的经验则会让思维开始产生死角,有死角的思维...

【Day 07】 在 AWS 中打造出 Data Lake 以及 Data Warehouse

大家好~ 先祝大家中秋节快乐哈哈 昨天我们完成了针对网站的 Google Analytics 的设定...