Scratch打砖块游戏课程(一)

网友投稿 2018-03-24 16:49

https://cdn.china-scratch.com/timg/180326/1649243092-0.jpg

乔布斯发明了打砖块游戏

Breakout是世界上第一款打砖块游戏,1976年由英宝格公司发行。游戏设计是后来创立苹果电脑的史蒂夫·乔布斯与斯蒂夫·沃兹尼亚克两人,程序设计是Brad Stewart。1978年公司发行第二代的Super Breakout。

在我们的图形编程提升班中,会讲到如何使用Scratch来制作打砖块游戏,因为整个游戏会较为复杂,涉及了部分物理知识,所以会通过五次课的时间来完成这一款游戏。

下面介绍一下,第一节课的内容:

使用Scratch制作打砖块游戏

添加挡板角色

https://cdn.china-scratch.com/timg/180326/1649241Q3-1.jpg

点击“从角色库中选取角色”的按钮,添加“挡板”的角色。

https://cdn.china-scratch.com/timg/180326/1649242144-2.jpg

添加了“挡板”的角色后,我们需要给“挡板”添加对应的逻辑:

  1. 让“挡板”在点击绿色旗子后,移动到屏幕下方。(Y坐标轴固定一个数值)

  2. 让“挡板”跟随着鼠标的X坐标移动。(把“挡板”的X坐标设置为鼠标的X坐标)

为了达到上面的效果,我们需要添加以下的代码:

https://cdn.china-scratch.com/timg/180326/1649255C0-3.jpg

添加小球角色

https://cdn.china-scratch.com/timg/180326/164925G40-4.jpg

“从角色库中选取角色”中添加了小球角色后,我们需要给“小球”添加对应的逻辑:

  1. 设定“小球”的大小。

  2. 让“小球”和“挡板”同时跟随着鼠标移动。(把“小球”的X坐标也设置为鼠标X坐标)

  3. 让“小球”刚好出现在“挡板”的上方。(把“小球”Y坐标设置为“挡板”的Y坐标,并且添加大约16左右的数值,避免两者出现重叠的bug)

为了达到上面的效果,我们需要添加以下的代码:

https://cdn.china-scratch.com/timg/180326/1649252007-5.jpg

虽然通过上面的代码,已经达到了我们想要的效果了,但是如果我们希望整个程序里代码的逻辑变得更清晰易懂,我们这里就介绍一个新的模块,叫“更多积木”。

我们新建一个“更多积木”,并且命名为“跟踪鼠标”,然后把相应的逻辑放在这个模块中:

https://cdn.china-scratch.com/timg/180326/1649253F6-6.jpg

小球发射

添加“游戏控制”角色

目前我们已经把关键的两个角色添加进来了,接下来我们需要做的就是他们的逻辑。

好,我们现在先让小球发射出来吧。

首先,我们添加一个角色去控制游戏的流程,我们称之为“游戏控制”。

在这个角色里面,我们随便的画一个图形,长方形或者是圆形,都可以。

https://cdn.china-scratch.com/timg/180326/16492C625-7.jpg

这个时候,我们就会发现在游戏界面里,就出现了一个图形。但是我们这里并不需要显示它,只需要它提供对应的功能,所以我们点击“游戏控制”角色左上方的感叹号后,把“显示”的勾选去掉即可。

https://cdn.china-scratch.com/timg/180326/1649263L7-8.jpg

创建“游戏控制”角色后,我们需要它完成两个事情:

  1. 给小球添加一个“小球状态”的变量,为0时表示发射小球,为1时表示运动中。

  2. 点击小绿旗时,把“小球状态”设置为0。

  3. 点击空格按钮,广播“开始游戏”,并且把“小球状态”变量设置为1。

为了达到上面的效果,我们需要添加以下的代码:

https://cdn.china-scratch.com/timg/180326/16492614c-9.jpg

小球运动

游戏控制完成后,那么我们需要在“小球”中,加上逻辑,当“小球”接收到广播“开始游戏”时,“小球”就开始运动起来。所以我们在“小球”中,加入下面的代码:

https://cdn.china-scratch.com/timg/180326/1649263640-10.jpg

这个时候,我们按下“空格”键,“小球”是不是就开始运动了呢?似乎出了点问题,“小球”动不起来。

是因为“小球”目前是像左运动的,所以一会儿就碰到边缘了,所以我们要调整一下“小球”的发射角度,把它设置为0度吧。

https://cdn.china-scratch.com/timg/180326/16492Cb6-11.jpg

好了,这节课的内容我们根据上面的操作,就顺利完成了。

end

--end--

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