SCRATCH一起学第(8)讲——《愤怒的小鸟》

网友投稿 2019-09-01 12:09

https://cdn.china-scratch.com/timg/190903/120953C17-0.gif

哈喽,大家好,又到分享经典案例的时间了~~今天咖姐带给大家的案例,是比较经典的“愤怒的小鸟”

通过上面的动图,可以发现小鸟移动的线路是一条曲线,而且运动速度在向上时,越来越小,在向下时,越来越大。和我们平时做的Scratch动画线路不太一样。而此移动轨迹,就是我们以后物理学中所学的抛物线。如下图:

https://cdn.china-scratch.com/timg/190903/1209533633-1.jpg

那么怎么才能做出这样的一条抛物线呢?

我们首先来学习一下几个概念:

(1):距离:两个物体之间的距离。比如A到B一米。用S表示。

(2):时间:这个就比较简单,比如1秒、1分钟、1小时。用t表示。

(3):速度:描述物体移动快慢的物理量,比如每分钟移动1米,但是我们这个速度是有方向的。比如向右为正,向左为负。用V表示。

(4):加速度:描述速度变化的物理量。就像公路上跑的汽车,它的速度并不是一直不变的,会加速和减速,那么加速和减速的过程,在物理中,有加速度来描述。用a表示

(5):初速度:描述物体开始运动的初始速度。用V0表示。

那么接下来,我们来用几个变量描述一下,这几个物理量,看看会出现什么动画效果呢?

(1)速度:由于速度=距离/时间,所以我们给循环一个固定的时间间隔,在每次循环里移动一个距离,那么在每次小循环里它就是匀速移动的(这个例子里的速度是10步/0.1秒=100步每秒) 。把循环时间间隔固定在一个很小的值情况下,移动的步数其实就代表着速度。(这里用到微积分的小知识哟!)

如图:

https://cdn.china-scratch.com/timg/190903/12095441R-2.jpg

我们可以看到这是常规运动轨迹。且速度没有任何变化,那么怎么才能做到速度向上时,越来越小,向下时,越来越大呢?

(2)加速度:描述速度变化的物理量。且速度(V)=初速度(V0)+加速度(a)*时间(t)。根据公式,我们可以知道要想向上时,速度越来越小,向下时,速度越来越大。需要我们给物体一个初速度后,将加速度设为负(这里的负,代表方向,即为向下)。如图:

https://cdn.china-scratch.com/timg/190903/1209544636-3.jpg

那么物体的运动如图所示:

https://cdn.china-scratch.com/timg/190903/1209543M3-4.jpg

至此,我们可以做出一个速度变化的运动。但是这个运动轨迹是直线型,怎么做出曲线的呢?

其实曲线运动呢,也就是“愤怒的小鸟”所做的斜抛运动。这里我们需要将斜抛运动进行分解,如图:

https://cdn.china-scratch.com/timg/190903/120954L31-5.jpg

这里V0是我们的初速度,但是V0是斜向上的。

水平方向速度:V1 = V0 * sinA

垂直方向速度:V2 = V0 * cosA – a*t(这里a为正,所以用的是减号)。

根据公式,代码如图:

水平方向:

https://cdn.china-scratch.com/timg/190903/1209552023-6.jpg

垂直方向:

https://cdn.china-scratch.com/timg/190903/120955B38-7.jpg

那么再将水平速度和垂直速度合起来,就是我们的斜抛运动速度。如图:

https://cdn.china-scratch.com/timg/190903/1209552911-8.jpg

以上,就是“愤怒的小鸟”斜抛运动的重点分析,大家可以自己尝试一下。

做完后,有想获取完整代码一起探讨的同学,也可以后台联系我交流~

每期一案例,跟咖姐一起动手玩转scratch。

简单易学,快乐成长。

想要Scratch3.0制作的经典版本飞扬的小鸟吗,请移步到这里,https://www.51scratch.com/99.html。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com