Scratch儿童编程课第三课
提示:文末附有视频教程。
前课内容
前两次课程中,我们实现了一个能主动躲避小球的超级玛丽猫,今天我们继续我们的上帝之手,让小猫拥有三条命。是不是很惊喜,是不是很意外? 那让我们开始吧!
传送门:
Scratch编程第一课:超级玛丽猫
Scratch 儿童编程第二课
本课目标
1、 让猫有三条命,
2、 当猫碰到小球时丢掉一条命
3、 当猫的三条命都没有时结束游戏。
效果如图所示:
新知识点
这一课我们要学习三个新的知识点:
1、 编辑和新建角色
2、 定义和使用变量
3、 使用广播消息和接收处理消息
以前我们要用到角色,都是直接从角色库中选择,但有时候角色库中并没有我们想要的,那这个时候你可以自己来创造角色了。
所谓变量,就是程序中值会发生改变的量。在本例中,我们把小猫的三条命存放在变量中。
有时候我们在一个角色里执行了操作后,希望其他的角色也同时也能反馈,那么这就要用到消息了,举个例子:上课了,老师广播上课铃声,学生或其他老师、工作人员接收到铃声这个广播后,都开始自己的动作了。
好了,我们正式开始了。
创造“三条命”的超级玛丽猫
玩过游戏的都知道,我们一般有心形图标个数表示在游戏中主角有多少条命。如果三条,就显示三个心,如果五条就显示五颗心。在本例中我们的超级玛丽猫有三条命,所以我们需要三颗心的图形,但角色库中并没有这样的角色。不过没有关系,强大的 Scratch 可以让我们自己创建角色。
我们可以从角色库中选择一颗心的角色进行修改,也可以自己全新绘制。因为时间关系,我们这里就从一颗心改成三颗心好了。
第一步:打开角色库,找到 红色心形角色,并添加到舞台区中
第二步:选中刚添加的这个角色,点击脚本后面的造型,打开造型编辑区。
第三步:删除掉多余的紫色的造型,
第四步:在右边的造型编辑区中,拖动鼠标选择心型,选中后,使用右边工具栏的复制工具复制两个心形,并排列好。
这样我们就有了三颗心了,但是光这样还不够,我们还需要多添加几个造型能显示不同命数时的情况。
第五步:在中间造型列表,将造型复制三份
第六步:使用右边的填充工具,把多余的心的颜色填充为透明的,把边框填充成浅灰色的。依次修改四个造型如下图效果。
这样三条命就创造出来了。
第七步:我们在心形角色的脚本中添加绿旗事件,初始化三条命和造型和位置,我把他在舞台区拖动到右上角合适的位置,并在脚本绿旗事件中设置位置和大小。
第八步:在数据分类中添加一个变量保存生命值数据。变量名称为:smz (生命值的拼音字母)。
建立好了后,我们在小猫的绿旗初始化事件中将变量 smz 赋值为 3。
这样每次游戏开始,超级玛丽猫就有三条命了。接下来我们完成碰撞检测的代码。
第九步:碰撞检测,我们拖动一个绿旗事件到脚本区,并循环检测是否碰到小球。如果碰到了,就将生命值减少1,并广播一个消息。如果此时生命值为0,则停止全部。每次循环后等待 0.5秒,以免程序执行太快,命不够用。代码如下:
想想这里为什么要判断两次生命值。
第十一步:切换到心形角色,我们添加接收到消息的处理。
当我们接收到消息后,如果有几条命就显示对应的造型。
好了,点击绿旗,会发现当小球碰到猫时生命值和生命图示都减少只到减少为0后游戏结束。
一般的游戏结束了,都会显示一个 Game Over ,那我们做一个吧。
第十二步:新建一个角色
在角色区,点击新建角色后的第二个图标,打开造型编辑器。我们直接用文本工具或是画笔工具做一个 “Game Over!” 。
我们再为角色上添加绿旗事件初始化。
至此,我们今天课程的目标就已经达到了,你学会了吗?
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com