您好,为了让您有更佳的体验,建议您换用IE浏览器来运行系统!

  
教育平台工作室日志202643的日志

Scratch新奇迷你项目·第1期

已有 264 次阅读 2016-10-14 12:54 |关键词:Microsoft color style 迷你 项目

最近班里同学结课了,在最后一节课上,小轩问我,“老师,我们做的飞机大战,我觉得不够真实,我想做一个真实的飞机大战”。我问他,“真实的飞机大战是 什么样的?”,他回答我说,“一个真实的飞机大战,飞机要往前飞,要有很多关,每一个关的地图不一样,我还想要子弹可以跟踪敌机”。这3个问题太有趣啦, 于是我想用几期时间来告诉大家,如何做一个“真实的”飞机大战。

让飞机向前飞

想想飞机向前飞是什么样的?为了放飞机看起来向前飞,最好的方法就是让地图向后移动。这样即使飞机停止在舞台上,看起来也像是在向前飞。如果下图中蓝色小方块是云彩的话,那飞机即使不动,看起来也像在飞。

Scratch新奇迷你项目·第1期

于是问题就变成了如何让地图不停的向后移动。在没有思路的时候我们按照最简单的想法来实现一下这个功能:把地图新建成一个角色,然后在角色上写下如下代码:

Scratch新奇迷你项目·第1期

运行一下大家发现问题了吗?

现在我们看到了地图在成功的向后滑动,但是没有地图覆盖的部分舞台露出了白色的背景,这样一个飞机大战会给人一种没有完成的感觉!

Scratch新奇迷你项目·第1期

如何让地图产生一种可以不停向后滑动,不会完的感觉?下面有几种方案:

1用一张非常长的图作为地图

在Scratch中,舞台的大小是480x360px。只要我们制作一张480x3600px的图片作为地图,我们就有了相当于舞台10倍长的地图了。通过这种方式制作滚动地图,仅仅让地图角色向下移动就可以达到滚动效果,并且在地图滚动完毕之后还可以很自然的触发切换关卡,不得不说,这种方法即简单又好用,还省心。唯一的不足点是,这么长的图在网上是难以找到现成的素材的,必须自己通过软件来制作这样的图。

Scratch新奇迷你项目·第1期

2用两张图不断的重复滑动

如果一张图(不是很长的图)滑动的时候会导致舞台上有空白区域出现,那么两张图呢?三张图呢?我们可以用好几张图片按照统一速度滑动来覆盖整个舞台。每一张图片从下方滑出舞台之后都移动到舞台上方重新滑入舞台。

Scratch新奇迷你项目·第1期

1用两张图重复滑动的方式(+数学知识)

首先,你需要知道一点数学知识,在计算机领域,求除法的余数的运算叫做mod,17÷2=8余1,那么17 mod 2 = 1。我们可以通过算数运算来保证图片的滑动和轮换。

首先新建一个变量y,让y的值不断的减少,将第一张图的位置重复执行设置为y mod 360,而第二张图的位置重复执行设置为(y mod 360)- 360。这样不仅保证两张图挨在一起,还能保证两张图无限重复滑动。

Scratch新奇迷你项目·第1期

本文由蒸汽机教育提供


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

`