在上个训练任务中,我们已经在训练场看到了魔法师。他还告诉我们,他有一本瞬移秘籍,可以让我们一瞬间去到任何地方。而且他还表演了。今天我们就去他那里吧!
不过在开始今天的训练任务之前,我们先回顾一下上个训练任务的内容。
课前回顾
- 使用“新建对话框”积木,向玩家提示信息。
- 使用“放到一起”积木,拼接句子。
- 了解如何使用坐标来定位。
课前准备
1、点击下方按钮,下载“神行雷电猴3.bcm”源码文件。
2、在谷歌浏览器地址栏输入 https://vipcode.fun/kitten编辑器 网址进入源码编辑器,或者直接点击前面的链接进入。
3、导入“神行雷电猴3.bcm”源码文件。
课程目标
来看看我们今天训练任务需要达成的程序效果吧
训练师,请先开动自己聪明的大脑,用自己的语言描述一下程序效果。然后在草稿纸上绘制一下流程图。
我来给训练师提供一个参考。
- 点击开始按钮启动程序
- 播放背景音乐
- 雷电猴跟我们问好
- 我们输入名字
- 雷电猴继续跟我们问好
- 法师出现,告诉我们他有瞬移秘籍
- 我们按下右方向键,雷电猴面向舞台右侧,然后开始走,伴随有走路的动画效果
- 我们按下做方向键,雷电猴面向舞台左侧,然后开始走,伴随有走路的动画效果
其实1~6的程序效果,在我们之前就已经完成了。所以我们只要在此基础上,搞定后面的第7和第8个效果就可以了。所以我们首先就可以确定,今天是给雷电猴编程。我们只要在之前雷电猴程序的基础上,加上今天的程序效果就行了。来看看之前雷电猴的程序流程图吧!
看来我们只要在雷电猴执行完,说你好某某某这个任务之后,执行第七和第八两个程序效果就可以了。我们来画个流程图吧。我猜猜训练师是不是画出了如下的流程图。
按照这个流程图拼接积木编程,我们需要解决如何判断是否按下左方向键和是否按下右方向键,这个关键问题。首先我们需要在程序运行过程中获取按键信息,然后才能进行判断。还记得如何获取程序执行过程中的各种信息吗?我们可以在侦测盒子里办到。如下图。
这个积木就可以获取,程序执行中各种按键信息。如图所示,就可以获取按下右、左方向键的信息了。接着我们就可以使用“如果”积木进行判断了。如下图
接着我们就可以在如果积木内部拼接让角色面向左或者右积木,向左移动,或者向右移动积木,切换下一个造型积木。从而实现程序效果了。如下图
向右移动
向左移动
这样确实可以,不过今天我们要用一个新的积木来让角色来移动。还记坐标吗?可以定位。
如下图
火球球的坐标是X=2,Y=1。闪电鼠的坐标是X=3,Y=1。如果要让火球球移动到闪电鼠的位置上。火球球的坐标需要怎么变动呢?聪明的训练师一定会说只要让火球球的X坐标增加1,就可以了。是的,所以在实际编程中,我们只要不停的改变角色的X坐标值,就可以实现角色左右移动的效果了。如果增加X坐标值,就会让角色向右移动,如果减少X坐标值,就会让角色向左移动了。
在实际编程中,要用哪个积木来增加或者减少角色的X坐标值呢?我们可以用动作盒子里的“将坐标,增加”这个积木。如下图。
这个积木左侧,可以选择,改变哪个方向的坐标值,比如X或者Y。积木右侧的圆角框内填写具体增加的坐标值。那如何表示减少呢?还记得我们之前所学的“相反数”吗?如下图,就表示将X坐标减少1
我们修改一下之前的程序
向右移动
向左移动
我们来把这两个积木块拼接在之前雷电猴的程序之后,如下图
我们点击开始按钮看看程序效果吧。我来提前剧透一下,按照这个来拼接。在雷电猴用我们输入的名字,跟我们打招呼之后,按下左右方向键,雷电猴一定不会有向左或者向右走动的效果。为什么呢?还记得在《地球保卫战》的训练任务中,判断炮弹是否与小行星相撞的知识点吗?我们在程序执行过程中,需要一直判断,是否按下向左,或者向右的方向键。如果程序要一直执行某个任务。我们需要想到—–“重复执行”。所以我们的流程图需要做出如下修改
我们按照这个流程图修改一下程序吧。
现在点击开始按钮后就可以通过按键,指挥雷电猴,向左或者向右移动咯。
样例程序
课后回顾
1、X坐标增加,可以让角色向右移动
2、X坐标减少,可以让角色向左移动
3、可以使用“将X坐标,增加”积木来实现增加或者减少角色X坐标值的要求。
作品代码文件下载
点击下方按钮,可以下载老师完成的代码,导入之后,可以对比一下,咱们互相进步。编程没有绝对的标准答案,只有更加优化的方案!
加油哦,训练师!