您的位置: 主页>机器人编程>Scratch编程>Scratch第63讲:小动画—我和我的祖国
加盟酷吧机器人 培养孩子核心能力

Scratch第63讲:小动画—我和我的祖国

先看看CC哥做的小动画视频:

设计思路

思路很简单,就是首先找一张图片,然后做一些动画渲染效果。

图片就去百度图片上找:

Scratch第63讲:小动画—我和我的祖国

看了一下这张图片不错。

那做什么效果呢?第一个就是想让字能动,那就需要把这“我和我的祖国”这几个字扣出来,怎么扣呢?去掉图片背景,在scratch有两种办法,一种是在Scratch里面涂色,用透明的颜色涂色,或者就是在scratch里面用橡皮擦一点点擦,这两种办法都挺常用的,尤其是处理一些复杂些的造型。

所以做Scratch还是要掌握一些作图的技巧,CC哥最熟悉的还是美图秀秀,用了智能抠图,一下子就把我和我的祖国这几个字给抠出来了。

Scratch第63讲:小动画—我和我的祖国

然后把每个字单独做成造型,就可以围绕着字来做动画了。

然后效果这个部分,经过仔细考虑,大概做三个效果:

1:配上音乐并做出动态节奏波形

2:烟花效果

3:字的特效

如果想免费获得CC哥的讲座中的程序代码以及游戏素材,可以通过扫描二维码关注《跟我学Scratch编程》,然后点击获取代码即可。

字的特效

先说最简单的,字的特效大家可以自己创意,CC哥最近编程也变懒了,竟然每个字用了个角色,一般高手都是用一个角色,然后用造型切换和克隆就好了。所以由此处可以看出CC哥并不是编程高手Scratch第63讲:小动画—我和我的祖国

Scratch第63讲:小动画—我和我的祖国

Scratch第63讲:小动画—我和我的祖国

CC哥就做了两个特效,一个是开始时,字从远处飞过来,逐渐变大。另一个效果就是不断地调整亮度。

烟花特效

烟花特效是CC哥在网上学的,所谓的烟花特效其实就是角色的轨迹处理,轨迹就是渐渐消失的过程。逐渐消失怎么做?就是用近乎透明的背景图片一层层的重复去覆盖,听明白没?说慢一点:用一个90%透明的背景图片覆盖一次的时候,被覆盖的画面就会淡一点,再覆盖一次,就会越淡一点,覆盖10次,画面就会被全部覆盖住了。把这个原理应用到轨迹里。一个角色在移动的过程中,不断地用图章去留下轨迹,然后这些轨迹图章被一层层覆盖掉,就形成了轨迹。

Scratch第63讲:小动画—我和我的祖国

就是把这个背景的透明度设成90%,然后不断地覆盖。(不想被覆盖的内容就移动到前面来

Scratch第63讲:小动画—我和我的祖国

。)

Scratch第63讲:小动画—我和我的祖国

然后烟花就简单了:

Scratch第63讲:小动画—我和我的祖国

烟花造型

Scratch第63讲:小动画—我和我的祖国

第一步先克隆一圈,每转10度克隆一个。颜色的特效是随机取的。J这个变量来决定烟花的大小。

Scratch第63讲:小动画—我和我的祖国

每个克隆体启动之后,就沿着自己的方向向四周扩散,变走变盖上图章。走的过程中不断改变颜色特效。

考虑重力的效果,就把重力效果的代码加上。

这样烟花就做好了,配合刚才的背景反复覆盖,就形成了烟花轨迹的效果。

为了增加烟花的效果,CC哥直接复制了三个一摸一样的烟花角色,这样就会让烟花出现的效果更逼真,比如几个烟花同时绽放。

音乐节奏

Scratch第63讲:小动画—我和我的祖国

Scratch第63讲:小动画—我和我的祖国

画上方的变动正弦曲线就是表示音乐的节奏,我们的思路是:

1:用响度这个侦测量来取配乐的响度值。

Scratch第63讲:小动画—我和我的祖国

2:用正弦曲线来表示响度,正弦曲线的振幅越高,就说明音乐越响。

3:引入计时器来增加曲线的效果。

Scratch第63讲:小动画—我和我的祖国

这段程序里有一个列表,这个列表里CC哥存的就是我爱我的祖国音乐的响度值。这个怎么得到呢?方法就是提前用循环把音乐的响度值读出来并写入一个列表中。

Scratch第63讲:小动画—我和我的祖国

当然你也可以不用提前取响度值,而直接读取实时侦测的响度值。CC哥提前取响度值,是感觉实时取侦测响度值再画出正弦曲线还是有滞后的。当然提前取响度值,面临的问题就是播放同步的问题。就算你每个0.1秒取一次,然后在运行程序时,就发现就算你设定成0.1秒画一次正弦曲线,但是还是不同步,这是因为执行程序代码也需要时间,如果你提取响度值的程序代码和画正弦曲线的代码长度不一样,那么就会形成偏差,曲子长了之后你会发现偏差到最后还挺大。所以CC哥在提取响度值时就是直接在程序里提取,就是把sensor赋值的那句代码换成了提取响度值的代码。这样基本上就同步了。

Scratch第63讲:小动画—我和我的祖国

Scratch第63讲:小动画—我和我的祖国

这段程序就是画正弦曲线,三个变量分别代表,曲线x轴的起点,曲线y轴的位置,以及振幅的放大量。相当于x轴每间隔10步画一个竖道。

Scratch第63讲:小动画—我和我的祖国

这是每一个竖道的代码:

公式不好理解,大家注意下面几点就好理解了:

1:第三句子是设定竖道的亮度,亮度值跟竖道的振幅有关。

2:第四句是找到画竖道的起点,第六句是竖道终点。

3:sensor的变量与正弦曲线的振幅相关。

4:计时器是为了让正弦曲线流动起来。大家可以试一下把计时器拿掉,就会发现效果的不同。

Scratch第63讲:小动画—我和我的祖国

飞机效果

最后在做帖子的时候,CC哥突然想把飞机编队也做进去,就费劲在网上又找了飞机的图片,然后还是用了轨迹的做法,把飞机拉彩带的效果也做进去了。

Scratch第63讲:小动画—我和我的祖国

克隆三个飞机,中间那个飞机的plane-num为0。克隆完第一个之后过0.6秒,再克隆上下两个,可以形成一个三角形编队。

Scratch第63讲:小动画—我和我的祖国

克隆体启动后,要检查一下,如果是上下两个飞机,则要先到出发的位置,然后再开始向左飞。

轨迹的造型,CC哥分别做了三个角色,每个角色不同的颜色。

Scratch第63讲:小动画—我和我的祖国

Scratch第63讲:小动画—我和我的祖国

轨迹的代码,很简单。结合前面那个背景反复覆盖的程序,就形成了飞行轨迹的效果。

CC哥做这个小动画虽然不完美,但是还是很应景,算是CC哥送给祖国的一份小礼物。这个代码不在全部程序打包的代码里面,如果想要这个小动画的素材和代码的朋友,就把这个帖子帮CC哥转发一下朋友圈吧。

后记,小编朋友公司研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

欧美思机器人教育加盟 赚钱好项目
上一篇:Scratch你所不知道的功能(第一季)
下一篇:Scratch编程初探
您可能喜欢
​Scratch3.0少儿编程案例:画雪花
Scratch3.0少儿编程案例:画雪花
​吃啥?这个问题交给Scratch!
吃啥?这个问题交给Scratch!
​Scratch学习心得(1)
Scratch学习心得(1)
回到顶部