少儿编程

系列

和 Vicky 一起学习 Scratch 系列之十六 | 相对运动

前言

上一期,我们学习了 Scratch 中关于克隆的概念和用法,然后利用克隆技术实现了一个 “星光雪夜” 的小作品。

今天,我们讲一下相对运动的概念,并创作一个简单的动画,这个概念和用法将为我们创作游戏作品打下一个基础。

相对运动

“运动” 是一个常见的词,表示物体在位置上的移动。生命在于运动,就是说多多锻炼身体,会让我们保持健康,远离病痛。

运动也是游戏中最为常见的现象,比如说宇宙飞船在星际飞行,比如我们在断网的间歇打发时间在 Chrome 上玩的 T-Rex Runner 游戏:

T-Rex Runner

是这只霸王龙在奔跑吗?可以说是,因为看起来,它就是在不停的奔跑,不断的跳过大大小小的仙人掌。

也可以说不是,因为我们发现,霸王龙一直在左下角这个位置,而真正运动的是这个游戏的背景,使我们产生了霸王龙在奔跑的 “错觉”。

生活中也有这样的例子。我们可能都有这样的体验,坐在一辆马上要行驶的列车上,如果对面的一辆列车向反方向行驶,我们往往会觉得是自己的车在往前走。

坐地日行八万里,
巡天遥看一千河。
                

所以说,动与不动,往往是相对的,这就是相对运动的含义。即便我们静止 “不动”,一天之内也飞了几万里 —— 地球还在自转。

相对运动的实现

今天,我们就来研究一下,怎么在 Scratch 中实现一个相对运动的动画。

首先,我们布置一下舞台:

舞台背景与角色

舞台的背景上,我们放置的角色是一只白马...

Vicky: 是独角兽!

仔细一看,真的是独角兽 Unicorn,注意,这个角色有好几个造型:

独角兽的六种造型

把这六种造型连贯起来,就是独角兽一次完整的奔跑动作:

连续造型的脚本

奔跑的独角兽

这时,虽然小白马独角兽的动作连贯起来了,但还是缺少能够衬托出它在向前跑的参照物,于是我们在路边栽了一棵树:

相对运动的参照物

然后,使用我们上节课学过的克隆,不断的复制新的树,并向左移动,这样,在树的衬托下,独角兽就开始向右奔跑了:

参照物运动的脚本

我们还把树的大小做了随机的变换,最终的效果是这样的:

最终的效果

好啦,今天的作品就完成了~

今天我们还知道了以下单词的含义:

  • unicorn 独角兽