第十六课-弹珠台游戏
大家好,今天我们一起做一款弹珠台scratch游戏,我们也可以叫它弹球游戏!这款游戏在刚出来的时候非常火爆。小朋友们要认真学习下!
- 这节课的学习目标
- 物体碰撞如何处理转向问题。
- 复习键盘对角色的控制方式。
- 逐步了解scratch编程中,游戏设计的逻辑
- 程序设计
程序分析 : 这个游戏实际的角色就3个,两个挡板,其中一个是我们控制的,另一个是随机运动的,当然这个我们也可以复制几个出来,只需要稍微改下坐标即可,另一个就是球了!
游戏玩法也比较简单,当球碰到控制的板的时候改变方向,碰到其他挡板则加分,碰到上、左、右边缘则反弹,碰到下方则失败。。为了区分边缘,我们在下方边缘处增加一个角色,当碰到这个角色的时候,则游戏失败。
下面我们开始安排角色。
- 两个木板角色,大家可以从角色库选择,或者直接绘制就可以了,这个比较简单(直接使用矩形工具),改变下背景色即可完成多个了。我直接上个效果。
- 球的话直接从素材库选择吧,我使用的角色名是“soccer”!
- 设计一个底部角色,在绘制的时候,长度铺满舞台。
下面我们开始编程:
- 首先我们先布置下舞台,布置好的效果如下:
- 然后我们先处理我们能控制的角色,也就是木板,木板控制比较简单,左右键控制左右移动,代码比较简单,下面代码是其中的一种实现方式,大家把两种控制方式都尝试下:
- 下面我们来处理球的移动,处理前我们先分析下:球碰到控制的挡板反弹,碰到其他挡板增加积分,其他挡板消失。碰到左右 ,上方边缘则反弹,碰到下面的蓝色波浪角色则失败:
在这里我们要注意下,刚开始的时候,球肯定不能直接往下方移动,否则会造成游戏还没开始就已经结束了,这里我们采用一个指令:
现在先让球动起来,球从中心点出发,代码如下:
下面继续分析,球碰到我们控制的挡板(角色名:角色1),球要反弹开,这个方向是球进入的方向的折射方向,代码如下:
仔细看下代码,为什么多了一个将Y坐标增加20的指令?小朋友们可以自己体验下。
碰到底部角色失败。指令如下:
- 最后就是红色挡板(角色3)了,角色3在固定高度左右移动,碰到边缘反弹!
当挡板碰到球(角色2)的时候,消失增加积分,隔1秒后再显示。
这里我们引入了一个变量score,在游戏刚开始的时候,一定要把score设为0。
以上程序运行后,我们会发现停止后,角色3就出不来了。为了每次游戏开始都让角色3显示,需要在开始的时候增加显示指令,完整代码如下:
今天这个游戏基本就完成了,小朋友们在编程的时候,可以适当增加些难度。
比如:当积分达到50积分的时候,出现2个球。或者当积分达到一定值的时候,球的速度就增加。大家可以尝试下,不懂的可以联系我!
点个关注吧!