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