极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

Scratch教程(九)——打砖块游戏

极客小将2020-11-17-
前言 有一段时间没有更新Scratch教程,一来是孩子开始学习Python编程,在解决实际问题的时候毕竟Scratch这种玩具式的语言还是很难胜任的;二来是由于学校一直推行的是logo语言编程。不过这种状况已经改变,从今年开始,学校终于打算开设Scratch课程,对于初学计

前言

有一段时间没有更新Scratch教程,一来是孩子开始学习Python编程,在解决实际问题的时候毕竟Scratch这种玩具式的语言还是很难胜任的;二来是由于学校一直推行的是logo语言编程。不过这种状况已经改变,从今年开始,学校终于打算开设Scratch课程,对于初学计算机的同学而言,这种玩具式的语言在训练学生们流程化、逻辑化思维方面还是有一些用处的,但也由于这种语言本身的特点,决定了在实现某些功能时,必须采用一些独特的方法。这次课程以一个“打砖块”的小游戏来讲解Scratch在角色选取、克隆体、广播消息、随机数等方面的一些应用,请同学们跟着教程一步步来,自然能实现自己的小游戏,同时可根据个人的喜好对相关的角色进行修改,甚至对游戏进行扩充等等。先来看一下效果:

https://cdn.china-scratch.com/timg/191130/10505W3J-0.gif


“打砖块”游戏逻辑

打砖块的小游戏对于许多同学来说是熟悉的,这个小游戏的逻辑如下:1、添加挡板、小球、砖块等角色;2、设置挡板随鼠标移动;3、设置小球不断运行,在遇到挡板时反弹;4、设置砖块被小球击中时消失,并克隆下一个砖块;5、设置计分;6、判断游戏结束(以小球低于档板为游戏结束)。

upload/article/images/2020-11-17/1192ea869c653dbd2e64263a48011735.jpg


添加角色

这几种角色都可以在角色库中选取,当然也可以自己绘制,这里选取的角色如下图所示:

upload/article/images/2020-11-17/90644e1bfaef1b9377349a455286533c.jpg

设置档板随鼠标移动

这个小游戏中,我们只需要档板在某个高度左右移动即可,这就需要设置其在跟随鼠标移动的同时,固定其纵坐标。代码块图如下:

upload/article/images/2020-11-17/18891a0dd5cf06f2fb5afbfe01c644ff.jpg

小球的移动

在游戏开始的时候,我们要给小球一个初始角度,这个角度在这儿选取的是0~60度,即向右上方移动,之后就重复执行移动,在这个循环体中进行三种检测:
一是检测是否碰到档板,在碰到档板时让小球反弹,这就需要设置反弹角度为180度-小球原方向;二是检测是否碰到边缘,这个有现成的模块——“碰到边缘就反弹”;三是检测小球是否向下越过了档板,这是游戏是否结束的检测。
小球的代码块图如下:

upload/article/images/2020-11-17/007b33ee50618fb6c44060e30f3273c7.jpg

砖块的克隆及克隆体检测

为了方便砖块的生成,我们在这里采用砖块的克隆体,在最初时,先克隆一个,再将本体隐藏,之后以克隆体本身来检测是否被小球碰到,如果碰撞了,就再克隆一个自己,同时将自己删除,代码块图如下:

upload/article/images/2020-11-17/eb8bf67892bf2ba67fda10576b8d8d22.jpg

计分

为了计分,需要新建一个变量,在砖块的克隆体被小球击中时,该变量增加1,关于这一点,在砖块的代码块图中已经有显示,请同学们留意。

游戏结束

当小球向下运动低于档板时,发出广播消息“GAME OVER",在我们自己创建的gameover角色代码中检测该消息,当其收到游戏结束的消息时,显示该图片以表示游戏结束,代码图如下:

upload/article/images/2020-11-17/eab6e685a426534cf927ffac5483f4f2.jpg

小结

本文对于“打砖块”小游戏进行了仔细讲解,这个小游戏的设计并不难,只不过其中涉及克隆体的部分要同学们仔细揣摩,克隆体在创建出来后,可以在某些情形下等同于角色来操作,这一点是要注意的。

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

网友点评

共有5条评论来说两句吧...

在线客服