Scratch全国少儿编程竞赛获奖作品《时空穿越》解析上篇

网友投稿 2019-09-24 12:39

https://cdn.china-scratch.com/timg/190926/123923GF-0.jpg

大家好!我是你们的新朋友果冻老师。

在今后的日子里,我将通过蓝精灵创客少儿编程公众平台,不定期的围绕全国青少年创意编程的各大赛事,对大家进行Scratch、Python等项目的竞赛指导。

本专题将与蓝老师的《创客课堂》同时为大家呈现,感谢大家的支持与关注!

以下是我本期要给大家分享的内容~

Scratch全国少儿编程竞赛

获奖作品解析
《时空穿越》

本文介绍的作品是全国青少年创意编程与智能设计大赛创意编程比赛一等奖获得者江夷越同学的最新参赛作品。

作品说明

一位天才创造了许多发明,其中最强大的就是时空传送门,它一共有三个按钮,按下随机按钮即可进行时空旅行,进行时空穿越可以去到不同的时代哦,在时空穿越的途中会有什么奇遇发生呢?事不宜迟,马上开展你的冒险之旅吧。

游戏中的变量以及作用
变量名称
作用
碎片 记录主角获得的游戏碎片数
正文

这篇文章,果冻老师带领大家一起学习Scratch创意编程大赛小学1-3年级组一等奖获得者江夷越同学的最新作品《时空穿越》。

这个游戏作品讲述的是一位天才科学家在三天时间里发明了飞毯、机器人以及神奇的时空传送门,但是时空传送门在传送的时候出现了问题,产生了bug,不能通过正常的按钮回家,我们要帮助科学家完成收集碎片和故事对话两个任务,协助他回到家中。

好,我们这就开始吧。

点击绿旗

点击绿旗之后,游戏会立即开始,角色1也就是天才科学家就会开始给大家介绍他的发明。

https://cdn.china-scratch.com/timg/190926/1239235Y7-1.jpg

绿旗后面的四条语句是初始化语句,它们设置了科学家角色的大小与位置。

然后,科学家说了两句话:“快看!这是我这三天做的发明”和“第一个:飞毯”。接着就广播了飞毯出现。

飞毯出现

接收飞毯出现广播的角色那一定就是飞毯了:

https://cdn.china-scratch.com/timg/190926/1239242142-2.jpg

飞毯的展示过程就是从舞台区的右上角飞到科学家的脚下,然后带着科学家一起飞起来。

https://cdn.china-scratch.com/timg/190926/123924N25-3.jpg

在这里,我们需要使两个角色同时运动。

让一个角色的位置与另一个角色的位置相同可以使用移到语句,在移到语句的外层再套一个重复执行语句就可以实现一个角色跟随另一个角色同时运动的效果了。

https://cdn.china-scratch.com/timg/190926/1239246439-4.jpg

注意,这里重复执行语句是带有条件的,当飞毯的x坐标小于-220,并且y坐标小于-160的时候,就不会再运行重复执行里面的移到语句了,而会继续运行重复执行后面的语句。重复执行的条件是必须要有的,如果没有,或者x坐标与y坐标的值设置的不合理(比如小于角色1的坐标值),那循环就会一直执行下去,永远也不会运行后面的代码了。

重复执行语句后面的代码就是继续重复执行10次并改变虚像特效,每次特效值都增加10,这样虚像效果到100时飞毯就完全透明消失掉了。

有没有细心的同学发现了,科学家在移动的过程中,飞毯是始终在科学家的脚下的,但是很多同学在第一次做这个游戏并运行到这里的时候,飞毯与科学家的位置总是不太对劲,就像这样:

https://cdn.china-scratch.com/timg/190926/1239243113-5.gif

这是什么原因呢?在Scratch中,其实每个角色都有一个中心点,当我们点击角色的造型后,就可以看到这个中心点了:

https://cdn.china-scratch.com/timg/190926/1239256024-6.jpg

看到红色圆圈圈出来的那个标记了吗?有点小,仔细看,有一个灰色的圆圈中间还有一个十字,这就是角色的中心点标记,默认情况下,每个中心点都位于角色的中间,当我们使用移到语句将两个角色对齐时,实际上是它们的中心点对齐了,于是就产生了上面截图中的动画效果。

那如果要让飞毯始终位于科学家的脚下,也就是让飞毯的中心点与科学家的脚对齐该怎么办呢?

很简单,只需要把科学家的中心点移到他的脚下就可以了,就像在上图的造型选项卡中,选中科学家角色,然后用鼠标拖动他向上移动,将中心点移到红色圆圈的位置,这样,动画效果就对了。

https://cdn.china-scratch.com/timg/190926/1239252543-7.gif

科学家展示了他的飞毯,紧接着就会展示他的第二个发明:机器人。

机器人出现

同样的,在角色1科学家的代码中接着会广播机器人出现,那接收这个广播的角色当然就是机器人了。

https://cdn.china-scratch.com/timg/190926/1239264R7-8.jpg

当机器人接收到让它出现的广播后,它就会乖乖的出来,并且说:放闪电!同时会广播秀出自己的闪电技能。

https://cdn.china-scratch.com/timg/190926/12392C435-9.jpg

那闪电角色接收到机器人的命令(广播)后,就会放电,代码很简单,果冻老师就不在这里截图了,同学们可以下载源代码后自己查看哦。

https://cdn.china-scratch.com/timg/190926/12392C491-10.jpg

好了,科学家的前两个发明都展示完了,接下来就要秀出他的大招了,那就是神奇的时空传送门。

https://cdn.china-scratch.com/timg/190926/12392H928-11.jpg

传送门出现

一共有三个角色会接收传送门出现的广播,它们是:

https://cdn.china-scratch.com/timg/190926/12392H964-12.jpg

角色3很明显,一看就是神秘的时空传送门;角色5和角色6是两个按钮,点击它们可以把科学家分别传送到不同的朝代。

当接收到出现的指令后,传送门会逐渐打开并显示在科学家的面前:

https://cdn.china-scratch.com/timg/190926/12392HJ9-13.jpg

当绿旗被点击后,传送门的位置就已经初始化设置好了,只是它被隐藏并且大小为0。

当接收到出现的广播后,首先设置了显示的语句,然后传送门的大小就从0开始慢慢的增大,一共会重复执行10次,每次大小都增加5,那重复执行后的大小就是10×5=50,大家看果冻老师在截图中的注释,最后一个语句是可以不设置的,因为重复执行10次之后,根据我们的计算传送门的大小就是50,于是,设置与否它的效果都是一样的。

角色5与角色6呢,也就是A和B两个按钮就更简单了,当接收到传送门出现的广播后,它们直接在指定的位置显示出来就行了,比如A按钮:

https://cdn.china-scratch.com/timg/190926/12392KA2-14.jpg

到这里,传送门已经开启了,我们需要选择A或者B传送科学家到不同的朝代完成冒险的旅程,不同的朝代会遇到不同的故事,需要我们帮助科学家完成不同的挑战任务,然后协助他重新返回家中,这部分内容果冻老师就在文章的下篇中再介绍,同学们拭目以待哦。

--end--

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