极客小将

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

资讯内容

Scratch编程实战 之 弹网球游戏

极客小将2020-11-18-
Scratch编程实战之弹网球游戏 前几篇文章了老冯叔叔已经讲了Scratch编程入门的方方面面,详见玩转Scratch文章系列,想必大家都已经迫不及待地想一试身手!好,我们现在就开始进入实战

Scratch编程实战之弹网球游戏

前几篇文章了老冯叔叔已经讲了Scratch编程入门的方方面面,详见玩转Scratch文章系列,想必大家都已经迫不及待地想一试身手!好,我们现在就开始进入实战阶段。

弹网球

上一篇我们讲了投篮球的例子,不知道大家亲手试验的结果如何?这篇文章里我们讲一个弹网球的例子,例子中,下面有一块触板左右浮动,上方有12只小甲虫是网球要弹击的目标,网球弹中全部12只小甲虫后通关。就像下面视频中的样子:

图1.Scratch编程实战二-游戏效果

任务目标

  1. 实现一块左右浮动的触板,触板的位置跟随鼠标点击的位置;

  2. 一只网球,游戏开始时出现在合适的随机位置,网球触碰到四壁或触板均会反弹;

  3. 游戏中有12只甲虫,当网球弹到任何一只甲虫后,甲虫被消灭掉,玩家能够得到1分;

  4. 当12只甲虫都被消灭后,得到12分玩家获胜;

失败条件

当玩家左右移动触板,没有在合适位置接住网球,网球滑落,游戏失败

其他目标

  1. 游戏开始时,有开始游戏的提示

  2. 12只甲虫被消灭后,有获胜的提示

  3. 游戏失败有失败的提示

  4. 当一只甲虫被消灭时,能够有音效配合

任务分解

启动提示

  1. 设置游戏启动的提示,提示开始游戏,并且告诉玩家怎么玩--左右移动鼠标即可

  2. 利用绘制工具,选择转换为矢量图,选择T按钮,第一行写“开始游戏”,第二行写”左右移动鼠标控制触板“,字体颜色可以自定

  3. 编写代码,当绿色旗标启动按钮被点击时,展示提示页面1秒钟后,提示页面消失

upload/article/images/2020-11-18/d0a3f622ba36f17b37c3c72915005e13.jpg图2.Scratch编程实战二-启动角色

触板

  1. 利用绘制工具,选择转换为矢量图,选择矩形按钮,画一个长方矩形,颜色自定

  2. 绿色旗标启动按钮被点击时,先隐藏1秒钟,目的是将屏幕留给启动提示界面,1秒钟后显示

  3. 运动功能板中,选择移动到鼠标位置功能,同时为了保证触板水平浮动,将其y坐标设置为一个固定值

upload/article/images/2020-11-18/8032b6cee03331a00a1e34b67ed39016.jpg图3.Scratch编程实战二-触板角色

网球

  1. 在角色中,选择网球角色,同样,当绿色旗标启动按钮被点击后,隐藏1秒钟,1秒后显示,并移动到一个合适的随机位置,并选择一个下落角度

  2. 重复执行如下运动,每次移动10步,同时碰到屏幕四壁就反弹

  3. 设定失败条件,当网球落入屏幕以外区域时,广播”gameover"的消息

upload/article/images/2020-11-18/1f6562d3675f0235508d798ae6f62e96.jpg图4.Scratch编程实战二-网球角色

触板触碰网球事件

  1. 回到触板角色,添加触板触碰网球的侦测事件,侦测到到事件后,广播 反弹的消息

  2. 回到网球角色,添加 当收到反弹消息后,设置反弹角度和移动步数

    upload/article/images/2020-11-18/2d3dff4ac0affabf2d8a0a6780b8d753.jpg图5.Scratch编程实战二-触板触碰upload/article/images/2020-11-18/04d74c3b7432804b782a603be810fdec.jpg图6.Scratch编程实战二-网球触碰

甲虫

  1. 新建角色,在角色中,选择Ladybug1,作为甲虫的原型

  2. 调整甲虫的大小和方向,大小自定,合适即可,方向选择180度

  3. 同样,当绿色旗标按钮被点击后,甲虫隐藏1秒钟,1秒后显示,为了每次启动后效果相同,这里需要重新设置甲虫的大小和方向

  4. 重复执行,当甲虫碰到网球后,播放Cymbal的声音,该声音持续1.1秒;

    同时,设置甲虫被撞击后的视觉效果,包括颜色特效,撞击后变小,撞击后倾斜等特效,这部分你会觉得还是很炫酷的

  5. 设置Score变量,作为几分工具,每撞击一个甲虫,积分+1

upload/article/images/2020-11-18/8080d048bfb1bbcabf6c689ad8995630.jpg图7.Scratch编程实战二-甲虫角色

复制甲虫

好了,我们现在已经有一只甲虫了,游戏中我们需要12只甲虫排成两排,每排6个

  1. 直接在甲虫角色上,右键单击,选择复制,就会复制出一只甲虫,如此操作11次,12只甲虫就出现了

  2. 调整甲虫的位置,使之排列整齐,老冯在这里,将两排甲虫的y坐标分别设为107和44,两只甲虫的x坐标间隔设置为70

获胜界面

  1. 利用绘制工具,选择转换为矢量图,选择T按钮,输入“You Win"

  2. 绿色旗标按钮被点击后,先隐藏,将Score变量清零,然后等待Score到达12分的事件

  3. Score到达12分后,该角色进行显示,广播”win“消息,同时播放Win的声音(Win声音文件在声音库中存在),最后停止全部脚本

upload/article/images/2020-11-18/5d56f9a3bad1cad89a72497e26aa1571.jpg图8.Scratch编程实战二-获胜角色
upload/article/images/2020-11-18/a60f536f21e5ddfd81e35ca5058466fc.jpg图9.Scratch编程实战二-获胜角色代码

失败界面

  1. 利用绘制工具,选择转换为矢量图,选择T按钮,输入“Game Over"

  2. 绿色旗标按钮被点击后,隐藏

  3. 当接收到”gameover"消息时(还记得吗,“gameover”消息是网球落到屏幕外面发出来的),显示该界面,同时播放Lose声音文件,然后停止全部脚本

upload/article/images/2020-11-18/df5ed28f20662dffd31f76f906638236.jpg图10.Scratch编程实战二-失败角色
upload/article/images/2020-11-18/fe0c0ceb56b825cb4705d40d668bc98b.jpg图11.Scratch编程实战二-失败角色代码

其他说明

为了达到更好的效果,当触板网球收到wingameover的消息后,均进行了隐藏处理

还等什么,赶快亲自动手试试吧,自己动手的游戏就是乐趣十足!

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

预约试听课

已有385人预约都是免费的,你也试试吧...