第12课 Scratch游戏程序设计——保卫城堡
- 体验游戏
小猫“抓抓”在城堡中游玩,突然听到急促地警报声。原来有一群怪物来空袭城堡,小猫决定参加战斗、保卫城堡。你能够帮助小猫打赢这场战斗吗?
|
单击此处,在线试玩本课的在线范例,看看小猫“抓抓”是如何打击怪物、保卫城堡的。同时完成以下表格:
|
- 游戏初始化及小猫移动效果制作
|
- 单击此处,打开本课的空白作品练习项目页,再单击右上角的“转到设计页”按钮,转到“作品设计页”。在作品设计页添加如上图所示的舞台背景及角色,同时设置这些角色的初始化代码。
- 用自己最喜欢的方法,编写让小猫在屏幕上左右移动的脚本。如果觉得有困难,可以单击此处或者扫描右边的二维码,了解详细的操作步骤。
|
|
- 导弹的移动效果制作
要让导弹能够跟随小猫的移动而一起移动,可以使用“动作”类别中的 指令。为了与小猫位置同步,可以在这个指令坐标参数中添加“侦测”类别中的 和 指令。同时为了不断的让导弹跟随小猫移动,还应该使用“控制”类别中的 指令。可以单击此处或者扫描右边的二维码,详细了解具体的操作步骤。
|
根据以上提示,在作品练习设计页为导弹搭建并运行脚本,你发现了什么问题?然后想一想,可能是什么原因造成的?把你的发现和想法记录到学习手册上。
|
在Scratch中,每个角色都有一个“造型中心”,这个造型中心的坐标,就是“侦测”类别 和 指令的坐标值。默认情况下,“造型中心”都在角色的中心。因此,导弹只会跟随小猫角色的中心移动,没有显示在小猫的手上。
要想让导弹跟随小猫移动时,显示在小猫的手上。可以按以下步骤操作,也可以单击此处或者扫描右边的二维码,详细了解具体的操作步骤。
- 单击“小猫”角色的“造型”选项卡;
- 单击选中“小猫”角色的第一个造型;
- 单击选中选项卡右上角的
按钮;
- 最后在造型编辑窗口中拖动鼠标,将“十字光标”拖动到小猫手上。
|
在作品练习设计页中,设置小猫的“造型中心”,使得导弹能够跟随小猫移动。
|
- 怪物的飞行效果制作
怪物是从屏幕右边飞向左边,可以先用“动作”类别中的 指令,让机器人出现在屏幕右边,然后再用 指令,让机器人从屏幕右边滑行到左边。
为了让机器人出现的位置、飞行的速度、路径更为灵活,可以在脚本所采用的指令参数中使用“数字和逻辑运算”类别中的 指令,完整的代码如下图所示。也可以单击此处或者扫描右边的二维码,详细了解具体的操作步骤。
|
还能够让机器人飞行的更灵活吗?先在作品练习设计中试一试,调试成功以后,把你的方法填写到学习手册上。
|
- 导弹的发射及飞行效果制作
导弹的发射,使用了“侦测”类别中的 指令作为 的条件,当检测到用户按下了“空格键”,就执行导弹飞行的脚本。
而导弹飞行,则是在 指令中,添加了 指令,使导弹的y坐标值不断增加,也就是向屏幕上方移动。而其中的判断条件,则是由 、 、 、 组合成: 。也就是说,在导弹到达屏幕最上方(y>180)或者碰到机器人角色之前,一直不断地增加y坐标值,使导弹向上移动。
完整的代码如下图所示,也可以单击此处或者扫描右边的二维码,详细了解具体的操作步骤。
|
请在作品练习设计页中编写怪物飞行、导弹发射及飞行的脚本。
|
- 导弹是否击中怪物的检测
导弹是否击中怪物,相应的检测代码可以在导弹角色中编写,也可以在怪物角色中编写。由于导弹碰到怪物后,怪物一般需要播放被击中后的声音以及显示被击中的效果,所以相对来说,在怪物角色上编写这段代码更为合适。
以下是在怪物角色上编写的最基本的脚本内容,也可以单击此处或者扫描右边的二维码,详细了解具体的操作步骤。
|
在怪物角色中添加如右图所示它被导弹击中后的造型,然后编写检测它是否被击中、击中后的显示效果脚本。
|
|
- 闪电的发射及飞行效果制作
导弹是由小猫发射的,用于打击入侵的怪物;而闪电是由怪物自动发射,用于打击保卫城堡的小猫。这两段代码基本相同。可以单击此处或者扫描右边的二维码,详细了解具体的操作步骤。
|
与导弹的代码相比,闪电的代码中最大的不同是什么?这样设计的目的是什么?把你的想法填写到学习手册上。
|
- 添加计时、计分及生命系统
一个完整的游戏,需要有一定的游戏时间限制,还应该有分数及生命值累计功能。可以在游戏中创建“成绩”、“时间”、“生命”这三个变量。可以单击此处或者扫描右边的二维码,详细了解相关知识和具体操作步骤。
其中游戏“成绩”初始值可以设置为100。如果小猫所发射的导弹没有击中怪物,成绩减少10分;如果击中了,成绩增加10分。
游戏“时间”初始值可以设置为120秒。每过一秒钟,游戏时间减少1;当游戏时间减少到0时,游戏结束。
小猫“生命”初始值可以设置为3。如果被闪电击中,生命值减少1;当生命值减少到0时,游戏结束。
这些变量的初始值设置及检测,一般都可以在舞台中添加脚本。
当接收到“游戏结束”的消息以后,应该切换到如下图所示的舞台背景,然后停止执行所有角色的程序。
|
- 在舞台脚本中编写游戏的计时、计分及生命系统;
- 在“小猫”角色中添加被闪电击中后,“生命”值减少的脚本;
- 为“导弹”、“怪物”角色中添加游戏“成绩”的累计减少、增加的脚本。
|
|
除了“保卫城堡”这个游戏,你能够自己设计一个游戏吗?试着想一想、做一做,不断完善游戏,提高游戏的耐玩性。
|
|