第50课 Scratch入门篇:放烟花
放烟花
故事背景:
水在一个安详的小镇中的一泓清水中居住着一名拥有好奇心与创造力的小朋友。一天夜晚,天色变得格外黑暗,原本明亮的星辰也被云层所遮蔽。那位小朋友静静地注视着那片漆黑无光的空间,心中不禁生出无限遐想:若能看到一场绚丽夺目的烟花表演,那简直令人向往!于是,他便开始运用自己掌握的Scratch编程技能,着手打造一场独一无二的家庭烟花秀。

程序原理:
制作烟花的过程主要依赖于x轴和y轴坐标的调整以完成运动轨迹的设计随后通过绘图工具完成这一过程在课堂上我们将共同使用自制模块搭建一个完整的烟花效果并深入探索当物体离开初始位置时其运动轨迹的模拟方法
开始编程
1、设定舞台的背景是一张夜晚星空的图片

首先,在选区工具下完整勾勒出星空图景的轮廓,并将其作为独立区域进行处理。随后,在编辑菜单中选择"复制"选项并执行操作。接着,在新建的角色属性窗口中找到相应的插图位置进行插入操作。
完成以上步骤后,请确保将所选区域粘贴至新建角色属性窗口中以实现成功导入所需背景图像的目的。

第3步、依次执行以下操作:首先移除预先设定的猫角色;然后借助绘图工具应用创建一个新的以背景为主题的角色;接着进入造型界面;导入之前保存的星空图像文件;最后将其放置至画面中央位置。

再次调用绘图工具,在造型页面中新增一个角色命名为'烟火'。跳转至造型页面后,请在画布中心处绘制一个居中的黄色小圆点。

5、背景角色的行为干预措施: 将目标位置放置在该角色的最后一侧,并设定其视觉效果为近乎透明的状态;采用无限循环的方式持续执行操作,在循环过程中依次调用图章模块完成特定功能

6、烟火角色的程序编辑:点击选定的烟火角色,在属性面板中新建两个数值型变量n1和y1;其中:
- 变量n1用于计算当前画面上右侧存在的所有烟火角色的数量;
- 变量y1用于设置这些烟火角色发射的基本初速度值。

7、新增一个名称为放烟花的自制积木,添加x和color两个参数

编辑放烟火的自制积木程序如下:
首先设置显示角色,并指定角色图像效果的颜色为color参数值、笔的颜色也为color参数值;然后抬笔并居于舞台底部中央位置,在水平方向上随机放置。
接着设变量y1为8至10之间的随机数值(每次发射速度均不相同)并开始落笔绘图操作;随后调用一个循环积木模块(直至y1降至-1以下时退出循环)。
在循环执行过程中:每次迭代时减少y坐标的值(即沿垂直方向下移),其递减幅度逐渐减小以模拟地心引力作用。
最后根据给定数值对x和y坐标进行相应的调整操作后退出循环;最后隐藏该显示角色完成整个烟火效果绘制过程。

请按以下步骤配置舞台效果:
- 按下绿旗触发事件时,请先将舞台背景清空并开始作画。
- 分别设定画笔宽度与颜色(与烟火的颜色保持一致),并确保烟火亮度为零以及虚像消失。
- 初始化变量n1为零值(表示当前舞台上没有未灭绝的火彩分身),然后不断重复执行下方的操作直至n1归零。
- 并在此时启动一个随机数生成机制以决定每次火彩出现的具体参数。

完成以后的效果:

课程就到这里,大家有不懂的可以留言!!
