中级篇——蝙蝠躲避球2
疑惑篇
点击绿旗按钮进入主界面,选择游戏难度开始游戏,移动鼠标控制蝙蝠躲避小黄球。
【线索篇】
案例分析
它们发生的场景是什么?
每个场景中有哪些角色?
每个场景中的每个角色在做什么?
在蝙蝠躲避球1基础上改动:
- 点击绿旗按钮,进入Moon场景,循环播放背景音乐。
- 点击三种难度按钮,进入游戏场景,开始不同难度的游戏。
积木提示
注意事项
- 如何控制游戏难度?
【解决篇】
这个案例中,我们会将蝙蝠躲避球1进行升级,为游戏增加不同的难度选项。
首先,我们将场景分为两个,Moon作为游戏菜单场景,在里面玩家可以选择不同的游戏难度。原有的Stars作为游戏场景,用来进行游戏。
先把新增的Moon背景添加进来。
利用绘制工具在背景上添加游戏名称。
接着,添加三个按钮角色。
为按钮添加不同的文字。
接下来,使用指令积木修改游戏。
前面的操作与Pong游戏类似,在舞台中当绿旗被点击后,将背景换为Moon。
小球、蝙蝠和文字角色当背景换成[Moon]时,先隐藏起来,文字角色还要循环播放背景音乐。
三个按钮角色当背景换成[Moon]时,显示出来,并且增加鼠标触碰按钮时,改变按钮颜色的效果。你同样可以使用不同造型或者颜色特效进行改变。
接下来,当你点击不同的按钮时,就会开始不同难度的游戏。在这里,你需要先思考一个问题,如果控制游戏的难度?
你可以改变小球的数量,数量越多,难度越大。你可以改变小球的大小,小球越大,难度越大。你可以改变小球的移动速度,移动越快,难度越大。你可以改变改变蝙蝠的大小,蝙蝠越大,难度越大。你可以改变小球移动的轨迹,从随机乱动变成跟踪蝙蝠移动。
在这个案例中,我们就通过改变小球的数量和移动速度来调整游戏难度。简单难度,小球数量最少,速度最慢。普通难度,增加小球的数量,速度保持不变。困难难度,同时增加小球的数量和移动速度。
现在你可以去之前完成的程序中找一找,哪个地方是用来控制小球数量?哪个地方是用来控制小球移动速度?
确定好了难度方案,接下来就来考虑如何实现它。
与Pong游戏类似,点击不同按钮会有不同的操作。
你可以点击按钮后发送不同的消息,再将背景换成Stars。此外,三个按钮当背景换成[Stars]时,停止正在运行的其他脚本,再隐藏起来。
小球在接收到不同的消息时,和红球拍一样,换成不同的造型用于区分不同难度。
文字角色当背景换成[Stars]时,开始执行原来的倒计时操作,广播“游戏开始”消息。
接下来,就要开始调整不同的游戏难度。小球在接收到“游戏开始”消息时,需要根据自己的造型编号,生成不同数量的克隆体。
小球在当作为克隆体启动时,也需要根据造型编号,调整自己的移动速度。
点击绿旗按钮测试一下,现在已经能够正常选择游戏难度,开始游戏了。
上面这种方式相对比较麻烦,在之前的案例中我们已经学习了如何使用变量,接着我们就通过变量来修改它。
既然我们是通过修改黄球的数量和移动速度来控制游戏难度,所以我们需要先建立两个变量,黄球数量和黄球速度。
黄球数量用在什么地方?是不是游戏开始时,小球克隆自己的重复执行次数。当黄球数量的变量值改变时,克隆体的数量也会跟着改变。
黄球速度呢?是不是用作克隆体移动(10)步积木的参数。当黄球速度的变量值改变时,克隆体的移动速度也会跟着改变。
接下来,应该在哪里设置不同的变量值呢?
是不是在游戏菜单场景,当三个按钮被点击时,为变量设置不同的变量值即可。
好了,点击绿旗按钮进行测试,游戏已经可以正在运行了。有没有发现使用变量的方式,要比第一种方式简洁很多。不需要切换造型,也不需要根据造型编号进行判断。只需要将变化的东西建立为变量,在通过将[我的变量]设为(0)积木修改变量值,最后将它们用在合适的地方就可以了。
在完成上面的案例之后,你还可以自己尝试着增加其他的游戏难度元素。
想看更多学习案例,欢迎点击查看《Scratch 3学习手册》open in new window。
想要获取所有案例源码和素材,以及获得我对你在学习中所遇问题的一对一解答,欢迎加入石头解忧杂货店。