【scratch游戏制作案例及教程】大鱼吃小鱼

(↑大鱼吃小鱼游戏效果视频)

游戏设计任务

1、设计一条可以用键盘控制移动的小鱼
2、当小鱼吃到比它大的鱼,游戏结束
3、当小鱼吃到比它小的鱼,体型变大
4、当小鱼吃到章鱼,体型变小

教程如下

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

设置游戏背景,可在scratch背景库中选择一个图片背景。然后定义角色:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

我们采用“在角色库中选取角色”,在角色库中水下主题里面选取鲨鱼作为游戏主角色。当然,你也可以自己用绘画工具创建一个角色。

新建鲨鱼角色后,点击“造型”标签,可以看到这个角色有三个造型,不同造型的切换,会让游戏更加逼真。关于造型的使用,我们在脚本中再介绍。

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

现在需要对鲨鱼造型做一地简单修改

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

在造型编辑区,放大图片,选择矢量模式。采用“为形状填色工具”,把鲨鱼牙齿的黑色填充成黄色,因为我们在编辑脚本的时候,需要有一个判断,小鱼是否碰到鲨鱼牙齿,这里我们设置一种特定的颜色,作为判断条件。(这个颜色可以自由选择,只有能加以区分就可以。)

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

第二个角色为小鱼,我们在造型编辑区,添加三种不同类型的小鱼,在程序中,可以随机显示,以增加游戏的趣味性。

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

第三个角色,我们定义一个比鲨鱼大的物种,当鲨鱼碰到它时,game over!

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

第四个角色,我们选择章鱼,当鲨鱼碰到章鱼的时候,鲨鱼会变小。章鱼有两个造型,可以让章鱼游动时更加逼真。

角色设置完毕,下面开始编辑脚本。

首先编辑游戏主角色鲨鱼的动作。

用键盘的上下左右键控制鲨鱼移动,当鲨鱼吃到比它小的鱼时,吃掉小鱼,自己变大,当鲨鱼吃到比它大的鱼时,显示“O,I am dead”,游戏over,当鲨鱼吃到章鱼时,自己变小

点击绿旗游戏开始,我们给鲨鱼一个初始大小,这里设定为80,另外,需要设置鲨鱼的旋转方向为左右方向,避免鲨鱼上下倒置。

我们用四个“如果……那么”指令,加上按“键是否按下”的侦查模块作为判断条件用一个重复执行命令
代码如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

然后编辑小鱼的动作

游戏开始时,我们随机选择小鱼角色的一个造型,怎么实现呢?

我们采用了一个“连接”和“随机数”两个运算符模块,生成一个随机的造型名称

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

然后用切换造型模块,合成如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

为避免单调,小鱼角色初始大小,也采用随机的方式,鲨鱼的初始大小为80,我们生成一个50到70之间的随机数,作为小鱼的大小

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

同样的,运动方向也随机生成

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

小鱼的移动速度也随机生成,用重复执行,让小鱼移动,碰到边缘反弹

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

小鱼这个角色的关键是,需要判断是否碰到鲨鱼的牙齿,碰到的时候还需要再判断,比鲨鱼大还是小?如小,被鲨鱼吃掉,如大,game over

第一个判断用是否碰到鲨鱼牙齿的颜色,我们这里设置了黄色,鼠标点击这个模块的方框处,鼠标变成手形,在鲨鱼牙齿处,点选黄色,即可拾取颜色

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

第二个判断用两个角色的大小为参数,用运算符进行比较,小鱼角色大小,在“外观”模块里面选择“大小”

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

鲨鱼角色的大小,需要用到侦查模块里的状态获取,点击“X坐标”边上的黑色小三角

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

出现下拉菜单,选择“大小”

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

小鱼判断脚本合成如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

上面的脚本中,还有两条广播消息,当小鱼碰到鲨鱼牙齿,并且小鱼比鲨鱼小,此时,发出一个“eat”广播消息,否则,发出一个“over”广播

小鱼的完整脚本如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

然后我们来考虑发出“eat”广播后,各个角色都需要处理什么情况?

当小鱼接收到“eat”消息后,它从当前屏幕消失,稍后在屏幕的随机位置生成一条新的小鱼,同样,小鱼大小为50至70之间随机数
代码如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

当鲨鱼接收到“eat”消息后,让它发出一个音效,然后出现张开大嘴的造型,最后,让鲨鱼大小增加一个单位
代码如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

当鲨鱼接收到“over”广播后,显示“o,I,m dead.”然后“停止全部”
代码如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

同样方法处理螃蟹角色,只是我们把它的初始化大小设置为比鲨鱼较大,在90到110之间选择一个随机数作为初始大小,尽管螃蟹的初始大小要比鲨鱼大,当鲨鱼吃掉足够的小鱼,也有可能变得比螃蟹大,所以,也要处理螃蟹被鲨鱼吃掉的情况,这里需要定义一个新的广播消息,我们设置了“eat2”广播消息

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

螃蟹收到“eat2”广播后

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

鲨鱼收到“eat2”广播后

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

然后我们定义章鱼的运动,初始化大小

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

设定章鱼从水底随机位置往上游

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

游到水面后,回到水底重新上游,用y坐标判断

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

随机速度上升

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

上升过程中,变换造型

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

如果鲨鱼牙齿碰到章鱼,发出“small”广播

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

完整代码如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

鲨鱼收到“small”广播时,发出一个音效,角色大小减少一个单位
代码如下:

【scratch游戏制作案例及教程】大鱼吃小鱼-少儿编程网

整个游戏脚本编写完毕!如果有兴趣,你还可以给游戏增加计分功能想想,该怎么实现?

如果你在学习过程中还有问题,可以在下面评论留言!

本文链接:【scratch游戏制作案例及教程】大鱼吃小鱼

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:少儿编程网,谢谢!^^


*文章为作者独立观点,不代表少儿编程网立场
发表评论

1 条评论
相关文章
“少儿编程之父”米切尔教授:我们要像在幼儿园一样学习
“少儿编程之父”米切尔教授:我们要像在…
编程少年丨余疆海:个性十足却不失温度
编程少年丨余疆海:个性十足却不失温度
为什么大家都建议学习少儿编程要从Scratch开始?
为什么大家都建议学习少儿编程要从Scrat…
孩子学完各个阶段的编程课程能够参加哪些比赛?
孩子学完各个阶段的编程课程能够参加哪…
我的孩子从来没有接触过编程,0基础能不能学?
我的孩子从来没有接触过编程,0基础能不…
【精选作品】如何通过Scratch让小猪跑起来?(内附火影粉丝巨献,必看)
【精选作品】如何通过Scratch让小猪跑起…
Scratch是由麻省理工学院(MIT)设计开发的一款面向少年的简易编程工具,是适合于全世界儿童学习编程和交流的工具和平台