掌控板mPython之绽放的烟花
2020-08-06陈新龙
陈新龙
“爆竹声中一岁除,春风送暖入屠苏。”古往今来,烟花与节日,烟花与诗词都结下了不解之缘。放烟花是一个古老的节日民俗活动,五彩缤纷的烟花像是随开随落的降落伞,烟火重叠,在夜空中构成了美丽的图案,成为我们欣赏的风景线。看了那么多的烟花,不知道大家有没有兴趣一起动手做一个呢?
今天我们用掌控板结合mPython来制作电子烟花的动画效果,展现出烟花从升起、绽放,再到消失的整个过程。通过这个实验,我们可以熟悉循环模块的使用,学会图形绘制的方法(这里我们绽放就使用了圆圈的效果),还可以了解一点点掌控板RGB灯的应用(目的是为了实现烟花绽放时的效果)。总的来说电子烟花动画效果分为三个步骤。
1. 绘制烟花上升图像
首先设置两个变量Y和 R 。Y代表上升的Y轴的坐标;R代表烟花的圆圈綻放半径。程序开始先显示一个“美丽的烟花”文字效果,然后进入正式程序,由于烟花的上升过程类似于一条直线,所以这里我们设置Y的范围是60到30之间,每次的间隔为10,在执行的过程中X的坐标轴不变,Y的坐标轴随着设定的范围移动,直线的长度为10,在写完烟花上升程序后,运行可以看到一个长度为10的垂直线条自下而上的过程。
2. 绘制烟花绽放图像
烟花升入天空后,紧接着就是绽放,首先设置R的取值范围,当然也是绽放的圆圈大小,这里设置R的取值范围从0到24,每次的间隔为2,设置完成后,就是实现绽放的效果,绽放过程中圆心是确定的,圆心根据烟花上升的横坐标和纵坐标来决定,半径从0到24,每次以2扩张。这里提醒一下大家,一定要绘制空心圆,最终出来的效果像波纹一样从内圈慢慢地扩散出去,如果选择了实心圆的话效果就从小圆点变成大圆点了。
3. 烟花消失过程
烟花升入天空绽放过后,过段时间就会消失不见了,这里我们就在绽放的基础上稍作修改就可以实现效果,消失的过程只需要用到擦除,从内圈渐渐地往外圈消失便完成了。擦除的范围坐标与半径和烟花绽放的坐标与半径都是相同的。
附加小烟花
按照上图操作基本上一个烟花的绽放过程就完成了,但是只有一个烟花太过单调了,我们可以增加两个小的烟花,代码类似,只需要更改一下坐标轴的位置和烟花的半径就可以实现了(效果中设置了一左一右两个小烟花)。大家可以尝试做做看。
这次实验教大家如何用掌控板结合mPython做一个电子烟花动画效果,难度还是有的,考验大家对图形绘制以及变量使用的水平,大家可以开动一下小脑筋想想如何做出不一样的烟花。