Scratch编程实战 之 弹网球游戏
Scratch编程实战之弹网球游戏
前几篇文章了老冯叔叔已经讲了Scratch编程入门的方方面面,详见玩转Scratch文章系列,想必大家都已经迫不及待地想一试身手!好,我们现在就开始进入实战阶段。
弹网球
上一篇我们讲了投篮球的例子,不知道大家亲手试验的结果如何?这篇文章里我们讲一个弹网球的例子,例子中,下面有一块触板左右浮动,上方有12只小甲虫是网球要弹击的目标,网球弹中全部12只小甲虫后通关。就像下面视频中的样子:
图1.Scratch编程实战二-游戏效果任务目标
-
实现一块左右浮动的触板,触板的位置跟随鼠标点击的位置;
-
一只网球,游戏开始时出现在合适的随机位置,网球触碰到四壁或触板均会反弹;
-
游戏中有12只甲虫,当网球弹到任何一只甲虫后,甲虫被消灭掉,玩家能够得到1分;
-
当12只甲虫都被消灭后,得到12分玩家获胜;
失败条件
当玩家左右移动触板,没有在合适位置接住网球,网球滑落,游戏失败
其他目标
-
游戏开始时,有开始游戏的提示
-
12只甲虫被消灭后,有获胜的提示
-
游戏失败有失败的提示
-
当一只甲虫被消灭时,能够有音效配合
任务分解
启动提示
-
设置游戏启动的提示,提示开始游戏,并且告诉玩家怎么玩--左右移动鼠标即可
-
利用绘制工具,选择转换为矢量图,选择T按钮,第一行写“开始游戏”,第二行写”左右移动鼠标控制触板“,字体颜色可以自定
-
编写代码,当绿色旗标启动按钮被点击时,展示提示页面1秒钟后,提示页面消失
触板
-
利用绘制工具,选择转换为矢量图,选择矩形按钮,画一个长方矩形,颜色自定
-
当绿色旗标启动按钮被点击时,先隐藏1秒钟,目的是将屏幕留给启动提示界面,1秒钟后显示
-
在运动功能板中,选择移动到鼠标位置功能,同时为了保证触板水平浮动,将其y坐标设置为一个固定值
网球
-
在角色中,选择网球角色,同样,当绿色旗标启动按钮被点击后,隐藏1秒钟,1秒后显示,并移动到一个合适的随机位置,并选择一个下落角度
-
重复执行如下运动,每次移动10步,同时碰到屏幕四壁就反弹
-
设定失败条件,当网球落入屏幕以外区域时,广播”gameover"的消息
触板触碰网球事件
-
回到触板角色,添加触板触碰网球的侦测事件,侦测到到事件后,广播 反弹的消息
-
回到网球角色,添加 当收到反弹消息后,设置反弹角度和移动步数
图5.Scratch编程实战二-触板触碰图6.Scratch编程实战二-网球触碰
甲虫
-
新建角色,在角色中,选择Ladybug1,作为甲虫的原型
-
调整甲虫的大小和方向,大小自定,合适即可,方向选择180度
-
同样,当绿色旗标按钮被点击后,甲虫隐藏1秒钟,1秒后显示,为了每次启动后效果相同,这里需要重新设置甲虫的大小和方向
-
重复执行,当甲虫碰到网球后,播放Cymbal的声音,该声音持续1.1秒;
同时,设置甲虫被撞击后的视觉效果,包括颜色特效,撞击后变小,撞击后倾斜等特效,这部分你会觉得还是很炫酷的
-
设置Score变量,作为几分工具,每撞击一个甲虫,积分+1
复制甲虫
好了,我们现在已经有一只甲虫了,游戏中我们需要12只甲虫排成两排,每排6个
-
直接在甲虫角色上,右键单击,选择复制,就会复制出一只甲虫,如此操作11次,12只甲虫就出现了
-
调整甲虫的位置,使之排列整齐,老冯在这里,将两排甲虫的y坐标分别设为107和44,两只甲虫的x坐标间隔设置为70
获胜界面
-
利用绘制工具,选择转换为矢量图,选择T按钮,输入“You Win"
-
当绿色旗标按钮被点击后,先隐藏,将Score变量清零,然后等待Score到达12分的事件
-
Score到达12分后,该角色进行显示,广播”win“消息,同时播放Win的声音(Win声音文件在声音库中存在),最后停止全部脚本
图9.Scratch编程实战二-获胜角色代码
失败界面
-
利用绘制工具,选择转换为矢量图,选择T按钮,输入“Game Over"
-
当绿色旗标按钮被点击后,隐藏
-
当接收到”gameover"消息时(还记得吗,“gameover”消息是网球落到屏幕外面发出来的),显示该界面,同时播放Lose声音文件,然后停止全部脚本
图11.Scratch编程实战二-失败角色代码
其他说明
为了达到更好的效果,当触板和网球收到win或gameover的消息后,均进行了隐藏处理
还等什么,赶快亲自动手试试吧,自己动手的游戏就是乐趣十足!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com