原文网址:/19151.html
大家一定在不同平台玩过这样一款游戏——打砖块。
游戏方式很简单:
(1) 小球在屏幕中不断反弹,碰到墙壁反弹(除底板外)、碰到砖块反弹、碰到挡板反弹。
(2) 玩家控制挡板,只能左右移动,不能上下移动或翻转。
(3) 被小球碰到的砖块消失,得分,当所有砖块消失,过关。
(4) 小球触碰底板,游戏失败。
这次先做一个简化版打砖块游戏——弹球游戏:玩家力保小球不落地,每接住小球一次加一分;小球落地,游戏结束。
游戏制作步骤:
1.打开Scratch编程软件。
2. 删除角色。右键单击小猫角色,将其删除。
3. 添加小球角色
4. 编写小球脚本——设定小球出现的位置
5. 编写小球脚本——设定小球初始运动方向和速度
Scratch中的方向用角度值来表示,下图标出了各角度值对应的运动方向:
既然小球的初始位置为舞台的上边缘中部,则初始运动方向可以向下以一定角度运动,则角度值范围为135度到225度之间,为了增加游戏的不确定性,使用随机数模块。
小球的运动用移动模块,步数越大则运动越快。
小球的运动是持续不断的,所以需要使用“控制”类目中的“重复执行”模块
则小球的脚本变为:
此时页面如下:
6. 编写小球脚本3——碰到边缘反弹
“动作”类目中有一个模块可以直接实现角色碰都边缘反弹
小球脚本变为:
此时页面如下:
7. 添加小球音效
Scratch角色库中的角色一般都自带音效,本例中的小球自带名为“POP”的音效。
当实现小球碰到边缘时,播放“POP”音效,需要调用“侦测”类目中的“碰到”模块:
添加音效之后的小球脚本为:
8. 绘制挡板
当角色库中没有合适的角色可选时,可以“绘制新角色”。
9. 编写挡板脚本——跟随鼠标运动
挡板的运动跟随鼠标左右移动,即挡板的X坐标跟随鼠标变化,Y坐标不变。
挡板脚本为:
注意:此时的鼠标动作仅为移动,而非拖动,鼠标左右键均处于松开状态。
10. 编写小球脚本4——碰到挡板反弹
如何判断小球是否碰到挡板,可以用“侦测”类目中的“碰到颜色”模块。
获取颜色操作如下:
小球的反弹的同样适用一定角度范围内的随机值。
小球脚本变为:
11. 绘制地板
因为小球脚本中判断小球是否碰到挡板用的是检测颜色,所以这里要注意:地板的颜色需与挡板不同。
12. 编写小球脚本5——碰到地板游戏结束
判断小球是否碰到地板,和判断是否碰到挡板一样,利用颜色来判断。
当小球碰到地板时,显示“Game Over”字样。
停止全部程序:
13. 编写小球脚本5——挡板每接住一次小球,加一分
得分是游戏最重要的反馈机制之一。添加得分,需要新建一个变量。
游戏开始时,得分为0,所以需要在脚本开头处,将变量“得分”设为0。
当小球碰到挡板时,变量“得分”的值增加1。
所以小球脚本为:
14. 编写小球脚本6——不断加速的小球
之前的脚本,小球的运动速度为恒定的“10步”,我们可以将小球的运动速度设定为“10+得分”,这样,当你得分越高,速度就越快。
至此,弹球游戏的基本框架和脚本编写完毕。基于这样一个弹球游戏,大家如果能想到更多的玩法,欢迎留言!
如果觉得《Scratch 创意游戏(一):弹球游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!