咨询热线:

187 - 6397 - 2757

当前位置: 首页 > 新闻列表 > 编程与游戏结合

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程

    今天老师用编程带领各位小同学们制作烟花动画。

    上面的烟花动画其实是由四种不同类型的烟花特效组成的。它们可是全部都是通过画笔实时计算出来的哟。

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图1)

    1.知识点

    本篇文章介绍的烟花制作方法使用了下面的知识点:

    1.1 重力加速度(抛物线)

    烟花是是由火药和金属粉末组成的,五彩缤纷的颜色其实是燃烧时不同的金属离子(如镁、铝等)与氧分子发生化学反应而发出的独特颜色。所以烟花是有重量的。有重量的物体在大气中运动都会受到地球引力的作用,呈现出抛物线轨迹。所以要制作好烟花效果首先要知道如何通过编程描述抛物线。简单来说就是:

    垂直方向下落速度会越来越快(有一个面向地心的固定的加速度)

    水平方向速度不变

    关于抛物线运动的更多知识可参考"愤怒的小鸟"学习用编程展示物理规律

    1.2 渐隐效果(彗星效果)

    这是做烟花轨迹的一个窍门和重点。我们希望看到的烟花线条轨迹是头部较亮,尾部较暗,呈渐隐效果,如下图:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图2)

    这种效果的实现方法是:

    制作一个和屏幕一样大的全黑角色:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图3)

    把该角色的虚像效果设成90(就是说它的透明度变成10%)

    然后不停地使用图章让它覆盖屏幕:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图4)

    这种实现方法的原理如下图所示:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图5)

    画笔画出来的轨迹实际上是由一系列点组成的。如果画笔是从左向右运动的,则左边的点比右边的点先在舞台上出现。上图五个橙色方格代表了画笔的轨迹点,1最先出现,5最晚出现。

    上面程序里虚像效果90的黑色角色相当于上图中标记为A的黑色方块。两个A叠起来就形成B的效果(B比A稍微黑一点),三个A叠起来就形成C,四个A叠起来就形成全黑的D。这个叠起来的动作就相当于程序里的“图章”。

    把橙色方格和黑色方块叠起来就是最终效果。没有被黑色方块盖住的5号方格就是原来的颜色,4-3-2-1依次变暗,1或者更早之前出现的方格就完全看不到了。

    动图效果如下: 

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图6)

    1.3 3D效果

     有立体感的3D烟花更加好看,制作3D效果需要了解一定的3D知识。基本的3D知识请参考千里马这一篇文章:用Scratch做一个3D引擎

    当然3D制作有点小复杂,也并不是制作烟花必需的。

    好,下面可以开始制作了。

    2.     制作方法

     2.0 辅助角色

     在开始画烟花轨迹之前,我们需要先建立两个角色:一个是上面1.2章节讲过的用来实现渐隐效果的黑色角色;另一个是声音角色,用来集中控制声音的播放。这样在其它角色里只需要广播播放某种声音的消息,这个声音角色就可以播放相对应的声音。

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图7)

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图8)

    声音效果可以极大地增强现实感,所以请务必给动画配上声音。

     2.1 烟花发射

    首先,我们做出烟花发射上升的效果,其实就是用画笔画一条有重力加速度的从下往上升的曲线,再配上音效。

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图9)

    效果如下:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图10)

    2.2 爆炸散开

    接着,我们让烟花在上升到最高点时爆炸散开(vy=0时升到最高点,之后速度向下而下降)。散开其实就是使用克隆来产生很多的子烟花轨迹。

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图11)

    子烟花轨迹应该比上升时的轨迹要小。

    为了使爆开后的各条烟花轨迹呈圆形,我们控制水平方向和垂直方向的速度,使得vx=2*cosA和vy=2*sinA(A是随机变化的角度值,代表速度的方向;2代表速度的值。这样使得每条子烟花的速度方向发生变化,但速度的值不变,形成圆形)。原理如下图所示:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图12)

    克隆体的程序:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图13)

    第一种烟花效果做好了:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图14)

    2.3 闪闪的烟花

    接下来我们做下面这种闪闪的烟花效果:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图15)

    首先是用克隆的方法画出很多条较细的烟花抛物线轨迹。同样一束烟花的出发点应该一样。通过改变它们的初始水平速度和垂直速度、以及线条颜色和大小,形成不同的烟花线条: 

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图16)

    效果: 

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图17)

    接下来做闪闪的亮点效果。首先是要改变角色的造型(变成一个纯色的圆形);然后在克隆体的程序中,在烟花线条消失之前,使用图章留下圆点。由于章节1.2中提到的渐隐作用,图章留下来的圆点会一闪而过消失在黑暗中。记得改变圆点的大小和颜色哦。

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图18)

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图19)

    第二种烟花效果也做好了:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图20)

    2.4 烟花文字

    接下来做烟花文字效果: 

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图21)

    首先是用造型工具创建一个文字角色

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图22)

    让文字先隐藏,先做出烟花发射上升效果

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图23)

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图24)

    当烟花上升到最高点时(vy=0)即爆炸,然后文字出现,并使用像素化让其模糊。

    之后文字做重力加速下落。

    在下落过程中不停使用图章留下轨迹,并配合章节1.2中提到的渐隐作用。

    再使用虚像使得文字逐渐消失

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图25)

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图26)

    最后用同样方法做出其它的文字烟花,改变颜色、位置及发射时间,效果如下:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图27)


    2.5 3D烟花

    制作3D烟花效果需要了解3D特效的知识,请先参考此文《用Scratch做一个3D引擎》,设置好视点、投射面、旋转角度等;

    3D烟花和2.1-2.2节介绍的2D烟花一样,也是包括发射上升-爆炸散开的过程。首先也是要先发射一条在y方向做重力加速运动的烟花

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图28)

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图29)

    烟花上升到最高点后就爆炸散开:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图30)

    为了使爆开后的各条烟花轨迹呈一个球体,我们控制x,y,z方向的速度,使得vy=2*sinA, vx=2*cosA*cosB,vz=2*cosA*sinB(A、B是随机变化的角度值,它们控制速度的方向;2代表速度的值。这样使得每条子烟花的速度方向发生变化,但速度的值不变,形成球体)。原理如下图所示:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图31)

    克隆体程序:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图32)

    3D烟花的效果:

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图33)

    同学们,当你把老师讲的所有程序组合在一起的时候,你再去看看什么样的效果吧!~

济南少儿编程:小学生用Scratch编程制作烟花!~山东少儿编程~少儿编程(图34)

    3.     小结

    除了上面提到的知识点,做好烟花效果的一个重要窍门是:多使用随机数来改变时间、大小、颜色、速度等各种变量,做出各种不同的效果。烟花之所以吸引人,正是因为它们没有固定的模式,变幻莫测。同学们请尽情发挥自己的想象力,用编程做出更多更炫的烟花效果。

山东机器人编程:家长要了解英国的少儿编程教育!~济南机器人编程~机器人编程(图6)

    速云少儿编程致力于 4 - 18 岁,山东少儿无人机编程教育机构,速云网络发软件工程师授课少儿编程教给孩子们不光要学习编程,还要结合编程知识给我们无人机写程序,实现我们无人机的自动启飞、人脸识别、智能跟随,包括更加高级的编程玩法,就是无人机编舞。可能家长想了!四岁孩子能学习无人机编程吗?那我们看个四岁的小同学吧,你自己看看能不能学习吧!

我们来看一看四岁小朋友的学习视频吧!

    家长担心孩子们真的能听懂课程吗?在每节课即将结束的时候我们都会进行课程汇报展示,来看一下小童鞋的汇报成果吧!

    这个时候家长可能说了,我们四岁的孩子,年龄辣么小,又不认字,那该如何学习呢?

    其实四岁、五岁的孩子不认字怎么学习?只要孩子识别颜色就可以学习。通过颜色识别具体编程积木,比如:蓝色是运动紫色是外观黄色是事件等等,通过颜色识别文字,根据颜色先实现出程序做出卡通的效果,以激发孩子兴趣,使孩子产生兴趣后开始具体学习每个积木的作用,再学习积木上面的文字。如下图:

家长关心孩子从小学习编程的6个问题都在这里了,你还在犹豫吗(图1)

    这个时候你还认为编程难吗?其实针对4岁起,就已经可以学习编程了。通过搭积木的方式让孩子学习编程。

    当然,比如我们下面的无人机编程视频吧!

    无人机能六架一起起飞?没错!那他又和数学有什么关系呢?

    小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型

    现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?

无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?

答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!


    无人机编程都学习哪些内容呢?

       让无人机与编程结合?

没错!就是要让孩子“动手”+“编程”实现无人机起飞。

重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。

例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。


无人机编程(图1)



当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图7)

看我们小童鞋们上课视频吧

    坦克编程都学习哪些内容呢?

    动手组装”+“编写程序”

    通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。

    课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。

    例如:人脸识别、智能跟随等前沿技术。


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图8)


当你的孩子还在学习机器人编程时,别人家的孩子却已经学习起了“无人机编程”(图9)

在线客服
热线电话

微信公众账号

在线购课

微信客服