一、学习目标
1.Scratch侦测积木,运动积木和声音积木
2.碰撞检测,键盘控制
3.变量
二、需求分析
1.游戏目的:用键盘控制小企鹅在迷宫中找到所有的钥匙
2.背景:本游戏背景是一个固定的迷宫,只需要添加该迷宫地图即可。
3.角色分析:本游戏需要的角色有探宝的企鹅,和作为宝贝的钥匙。
(1)钥匙在游戏开始时,放置到固定地方并显示,小企鹅拾取后,隐藏对应的钥匙。
(2)小企鹅具有上下左右移动的能力,撞墙时,不能够穿过去,找到钥匙了,要能够拾取起来。
(3)小企鹅找到所有宝贝后,要能够有明显的提示。
4.为增加游戏乐趣,在游戏中添加背景音乐和各种提示音;再为小企鹅的探宝行为增加一个计时器,用来记录小企鹅找到所有宝贝一共用了多少时间。
三、功能设计
1.小企鹅初始化
2.小企鹅移动功能
3.钥匙拾取功能
4.碰撞检测
5.背景音乐
6.拾取提示音
7.撞墙提示音
8.探险成功动画与声音
9.计时功能
四、代码编写
1.添加背景地图,从磁盘(所有资源将在百度云盘共享提供,请关注后续文章。资源整理中)中上传迷宫背景地图
2.小企鹅初始化,选择角色–小企鹅
为小企鹅角色添加如下代码
3.小企鹅移动功能,代码首先要判断是否有方向键按下,如果有,改变对应的坐标。判断方向键积木在侦测积木分类中。代码如下。
此处需要用到“控制积木”中的判断积木“如果…那么”,和“侦测积木”的键盘检测,通过判断键盘方向键是否按下,确定小企鹅的移动方向。
4.钥匙角色添加,同企鹅添加
5.碰撞检测:碰撞检测代码积木也在侦测积木分类中,首先检测是否撞墙,如撞墙,则恢复企鹅位置到前一步。代码如下:
在这里我们看到两个橙色的x和y。这是变量功能提供的代码积木。
6.变量的使用:在变量积木分类中,我们可以看到可以创建变量。
变量是程序编写过程中需要记录一些在程序运行过程中产生的数据,这些数据在后续的代码编写或者结果呈现中需要用到。
如在上一步中,碰撞检测中,我们需要在小企鹅撞墙时,恢复其坐标为撞墙前一步。所以我们先记录其移动前坐标,在检测到撞墙后,恢复其坐标即可。在变量积木分类中,使用变量设定积木,代码如下:
结合上一步中碰撞检测代码,则实现小企鹅撞墙恢复功能。
7.钥匙拾取功能
根据碰撞检测功能,每当钥匙碰撞到企鹅时,都实现企鹅拾取功能。代码写到每个钥匙角色中,代码如下:
其中钥匙变量增加1为记录企鹅已经拾取的钥匙数量,从而得知,企鹅是否已经找到所有钥匙。
8.背景音乐,背景音乐实在整个游戏过程中都要存在的声音,代码如下:
这段代码放到背景、企鹅或者钥匙中都可以。
9.拾取提示音,当企鹅拾取到钥匙时,要有不同的声音提示玩家。代码如下:
这段代码写到企鹅角色的代码区中。也可以如下编写到钥匙角色中:
将钥匙角色中的广播代码积木替换为播放声音积木,每个钥匙角色均要如此修改。
上面的编写方式涉及到代码优化的编程理念。在后续课程会有讲解。
10.撞墙提示音,在撞墙检测代码中,添加如下代码:
11.探险成功动画与声音,当小企鹅找到所有钥匙后,执行下列代码,表示游戏完成。
其中的等待钥匙,为地图上所有钥匙的总数量,根据实际情况填写即可。钥匙是一个变量。在变量中设定。每次捡到钥匙,都要增加该变量值。
12.计时功能,设定变量时间,添加如下代码,实现计时器功能。
五、测试与调试
代码编写完毕,检查后执行,让小企鹅拾取所有钥匙,在过程中,检查是否出现错误。
六、重点知识
碰撞检测:碰撞检测是游戏编写的重要代码。只有碰撞检测才能够实现游戏的真实过程。碰撞检测是指当游戏过程中,两个角色或者角色与背景发生某种碰撞,在这种碰撞发生时,相应会出现的一些情况,需要程序去实现该情况。
控制积木的判断积木:当需要判断某件事情是否发生时,使用判断积木,并根据判断结果,执行不同的代码,实现不同的功能。
七、进阶
自己绘制迷宫地图,并放置不同的宝贝到地图中,让企鹅去寻找。
八、特别声明
本文使用了《Scratch3.0少儿游戏趣味编程》一书的同类型游戏资源,并参考了相关内容。
转载自原文链接, 如需删除请联系管理员。
原文链接:第二课 小企鹅迷宫探宝,转载请注明来源!