一直以来,打砖块都是非常流行小游戏,休闲娱乐的时候就玩一玩打砖块小游戏,让砖块在你眼前慢慢破碎是一件特别爽的事情,你知道吗,世界上最早的游戏发明就是打砖块游戏。
作品介绍
今天给大家分享的Scratch作品是《打砖块》,这是一款益智休闲小游戏。游戏的目标就是用鼠标控制挡板左右移动将球反弹回去消除上方的砖块,让砖块在你眼前慢慢消失可是一件特别爽的事情哦。
启动游戏后,小球就开始在舞台上来回运动,玩家通过鼠标控制挡板左右移动,接住球从而改变小球的飞行轨迹。当所有的砖块都被打掉了,游戏胜利,如果挡板没有接住球,让球掉到地上,则游戏结束,效果图如下:

核心代码解读
先来看看打砖块游戏的角色构成,本作品一共有9个角色,如图所示:

各角色功能和作用简要说明如下:
- 砖块:出现在舞台上方的砖块,除了看到的橙色砖块外,还有紫色、蓝色、黄色和灰色,一共有5种造型;
- 球:是用来击打砖块的,打到砖块后会反弹,碰到舞台边缘和挡板都会反弹,如果掉到地上了,则游戏结束;
- 挡板:用来接球用的,避免球掉到地上,通过鼠标左右移动来控制挡板的左右移动;
- 墙:注意,球的活动范围只在舞台的左边,并不是整个舞台,因此在舞台中间的分界处,放置了一道墙,当球碰到墙的时候会反弹;
- 底板:用于检测球是否落到地面上了;
- 个位和十位:用于统计分数;
- score:显示score,表示得了多少分。
本作品有两个难点,也是创作本作品的关键所在:
- 如何克隆砖块
- 模拟真实世界里球的反弹运动
1.克隆砖块
在本次作品中,一共有3排砖块,每排5个,一共是15个,这可以使用Scratch克隆来获得,关键是如何让他们依次排列呢?在Scratch中,使用克隆指令时,有一个隐含的规则:所有的克隆体其初始特征,包括大小、造型、位置等和克隆时本体的特征是一模一样的。
因此,在使用克隆的时候,不要等到克隆体生成之后去设置其位置, 而是应该一边克隆,一边改变本体的位置,比如,针对第一排砖块,先将本体移到第一个砖块的位置,然后克隆一个砖块,接着将本体右移,代码如图所示:

接下来,就可以按照同样的方式克隆第二排和第三排砖块,由于方法是一样的,唯一不同的就是y坐标,因此,可以利用循环来实现,具体代码如下:

2.模拟真实世界里球的反弹运动
第二个要注意的问题是,如何实现球的反弹运动,如果都是碰到舞台边缘,直接使用“碰到舞台边缘就反弹”指令就可以完全搞定。但是在这个作品中,有3处反弹的情形都和舞台边缘舞台,分别是碰到砖块反弹、碰到墙反弹、碰到挡板反弹。
很多初学者在创作类似作品时,都做了简化处理,直接在原来的角度上增加或减少一个角度,就完成转向了,这种方法是可行的,但是不符合物理中的反弹运动,在物理学中,反弹之前和反弹之后的角度是有固定关系的,不是随意设置就可以的。
那么,这个固定关系到底是什么呢?这里告诉一个简单又切实可行的方法,选择一个篮球角色,设定一个初始角度,比如30度,然后让其运动直到碰到舞台上边缘再反弹回来,再观察反弹回来的角度,如所示:

换个初始角度,多尝试几次,可以发现它们的规律:反弹之前的角度 + 反弹之后的角度 = 180。这是针对碰到舞台上下边缘的情况,使用同样的方式可以找到当碰到舞台左右边缘时的规律是:反弹之前的角度 + 反弹之后的角度 = 0。
因此,我们可以利用这两个数学公式,来实现球的反弹效果,其代码如下:

从这个简单的打砖块作品,我们可以看到,在使用Scratch进行编程创作时,不仅会用到大量的数学知识,还会应用物理知识,这也是为什么说编程可以提升数理思维的原因。
作品效果
Scratch打砖块游戏的完整效果如视频所示:
暂无评论内容