中级篇——蝙蝠躲避球2

疑惑篇

点击绿旗按钮进入主界面,选择游戏难度开始游戏,移动鼠标控制蝙蝠躲避小黄球。

视频演示open in new window

亲自操作open in new window

【线索篇】

案例分析

它们发生的场景是什么?

每个场景中有哪些角色?

每个场景中的每个角色在做什么?

蝙蝠躲避球1基础上改动:

  1. 点击绿旗按钮,进入Moon场景,循环播放背景音乐。
  2. 点击三种难度按钮,进入游戏场景,开始不同难度的游戏。

积木提示

当绿旗被点击

当背景换成[背景1]

移动(10)步

移到x:(0) y:(0)

移到([随机位置])

面向(90)方向

碰到边缘就反弹

说(你好!)

换成([造型1])造型

将大小设为(100)

显示

隐藏

移到最[前面]

播放声音([喵])

播放声音([喵])等待播完

当接收到[消息1]

广播[消息1]

等待(1)秒

重复执行(10)次

重复执行

如果<>那么

停止[全部脚本]

当作为克隆体启动时

克隆[自己]

删除此克隆体

碰到([鼠标指针])?

鼠标的x坐标

鼠标的y坐标

计时器

计时器归零

在(1)和(10)之间取随机数

等于

建立一个变量

使用变量

将[我的变量]设为(0)

注意事项

  1. 如何控制游戏难度?

【解决篇】

这个案例中,我们会将蝙蝠躲避球1进行升级,为游戏增加不同的难度选项。

首先,我们将场景分为两个,Moon作为游戏菜单场景,在里面玩家可以选择不同的游戏难度。原有的Stars作为游戏场景,用来进行游戏。

先把新增的Moon背景添加进来。

利用绘制工具在背景上添加游戏名称。

接着,添加三个按钮角色。

为按钮添加不同的文字。

接下来,使用指令积木修改游戏。

前面的操作与Pong游戏类似,在舞台中当绿旗被点击后,将背景换为Moon。

小球、蝙蝠和文字角色当背景换成[Moon]时,先隐藏起来,文字角色还要循环播放背景音乐。

三个按钮角色当背景换成[Moon]时,显示出来,并且增加鼠标触碰按钮时,改变按钮颜色的效果。你同样可以使用不同造型或者颜色特效进行改变。

接下来,当你点击不同的按钮时,就会开始不同难度的游戏。在这里,你需要先思考一个问题,如果控制游戏的难度?

你可以改变小球的数量,数量越多,难度越大。你可以改变小球的大小,小球越大,难度越大。你可以改变小球的移动速度,移动越快,难度越大。你可以改变改变蝙蝠的大小,蝙蝠越大,难度越大。你可以改变小球移动的轨迹,从随机乱动变成跟踪蝙蝠移动。

在这个案例中,我们就通过改变小球的数量和移动速度来调整游戏难度。简单难度,小球数量最少,速度最慢。普通难度,增加小球的数量,速度保持不变。困难难度,同时增加小球的数量和移动速度。

现在你可以去之前完成的程序中找一找,哪个地方是用来控制小球数量?哪个地方是用来控制小球移动速度?

确定好了难度方案,接下来就来考虑如何实现它。

Pong游戏类似,点击不同按钮会有不同的操作。

你可以点击按钮后发送不同的消息,再将背景换成Stars。此外,三个按钮当背景换成[Stars]时,停止正在运行的其他脚本,再隐藏起来。

小球在接收到不同的消息时,和红球拍一样,换成不同的造型用于区分不同难度。

文字角色当背景换成[Stars]时,开始执行原来的倒计时操作,广播“游戏开始”消息。

接下来,就要开始调整不同的游戏难度。小球在接收到“游戏开始”消息时,需要根据自己的造型编号,生成不同数量的克隆体。

小球在当作为克隆体启动时,也需要根据造型编号,调整自己的移动速度。

点击绿旗按钮测试一下,现在已经能够正常选择游戏难度,开始游戏了。

上面这种方式相对比较麻烦,在之前的案例中我们已经学习了如何使用变量,接着我们就通过变量来修改它。

既然我们是通过修改黄球的数量和移动速度来控制游戏难度,所以我们需要先建立两个变量,黄球数量和黄球速度。

黄球数量用在什么地方?是不是游戏开始时,小球克隆自己的重复执行次数。当黄球数量的变量值改变时,克隆体的数量也会跟着改变。

黄球速度呢?是不是用作克隆体移动(10)步积木的参数。当黄球速度的变量值改变时,克隆体的移动速度也会跟着改变。

接下来,应该在哪里设置不同的变量值呢?

是不是在游戏菜单场景,当三个按钮被点击时,为变量设置不同的变量值即可。

好了,点击绿旗按钮进行测试,游戏已经可以正在运行了。有没有发现使用变量的方式,要比第一种方式简洁很多。不需要切换造型,也不需要根据造型编号进行判断。只需要将变化的东西建立为变量,在通过将[我的变量]设为(0)积木修改变量值,最后将它们用在合适的地方就可以了。

在完成上面的案例之后,你还可以自己尝试着增加其他的游戏难度元素。

想看更多学习案例,欢迎点击查看《Scratch 3学习手册》open in new window

想要获取所有案例源码和素材,以及获得我对你在学习中所遇问题的一对一解答,欢迎加入石头解忧杂货店

Last Updated:
Contributors: lanheixingkong