hello,同学们,上节课我们学习了如何在scratch环境下,设置角色的名称和变换角色的大小,大家还记得吗,我们创建了一个叫:『淘淘』的小松鼠是不是,今天我们要学习一下如何计算淘淘的起跳高度和模拟重力加速度的效果,让淘淘从河的这一边跳到那一边,let's go, 我们开始啦
首先,我们看一下这节课要学习的知识点,
动作区:将x坐标增加、将y坐标增加代码块
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttipue8mjj205i01qq2x.jpg)
2、侦测区:碰到颜色代码块
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttiptm8pij204w01s0so.jpg)
我们最终的目标是想让小松鼠跳过河并且不能跳得太远,那样会跳出舞台区,也不能跳得太近,跳得太近就掉到河里了,淘淘跳跃的距离需要精确的计算,我们先来拆解一下我们要解决的三个问题,
1、淘淘跳跃效果实现
2、起跳的位置选择
3、跳跃的距离计算
淘淘所在舞台区的任意一个位置都对应唯一的一个坐标,这个知识点我们前面的课程里已经介绍过了,那么我让淘淘的y坐标增加10次,再让淘淘的y坐标减少10次,这样淘淘是不是就完成了原地跳跃的效果呢,ok,那我们来试一下,
我们先从动作区里找到“将x坐标增加10”的代码块,点击鼠标左键选中,不要松开鼠标左键,这是这个代码块就可以跟随鼠标移动了,我们将这个代码块拖动到左边的脚本区
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttixdcy74j20hc0x4jw1.jpg)
重复上面的操作10次,再从控制区里拖动等待1秒的代码块出来,再拖动“将y坐标增加10”的代码块10次,将这些代码组合在一起,请看下图效果
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttipu05fuj206m0hagnw.jpg)
大家注意一下,“将y坐标增加10” 这个代码里的10是可以更改的,我们让y坐标增加可以写正数,同理我们想让y坐标减少就可以把这个数字改成负数,所以上面的代码老师把等待后的代码块里的数字改成了负数,让淘淘的y坐标回到初始值,
下面我们来解决第二个问题,什么情况下触发淘淘的起跳条件呢?我们把淘淘移动到这个位置,这时淘淘长长的耳朵碰到了蓝色的河面了,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1ftruv72x68j20kg0h076s.jpg)
我们使用角色![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttiptm8pij204w01s0so.jpg)这个代码块,这个积木块的意思是:如果角色碰到颜色的情况下,需要角色做哪些事情,这是一个条件触发的机制,这里我们使用碰到蓝色河面作为触发淘淘起跳的条件,代码实现是这样的,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttipoheh5j208e040glv.jpg)
鼠标悬停在碰到颜色代码块的绿色框里点击左键,这时鼠标指针会变为小手的状态,移动鼠标位置则这个颜色框里的颜色会跟着鼠标移动而发生变化,我们把鼠标移动到蓝色河面上时,这个颜色框将变为和蓝色河面一样的颜色,点击一下鼠标左键则碰到颜色的条件就设置好了
跳跃的条件设置好了,接下来我们来看一下需要跳跃的距离怎么计算,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttipr0qcyj20rm0nok8d.jpg)
淘淘从起始位置x坐标为4,移动到终点位置x坐标为204,一共移动了200个点,则我们可以这样设计代码,让淘淘在起跳抛物线的前半部分y坐标上升10次,后半部分下降10次相同的值,则y坐标回到原点,淘淘的y坐标每变化一次,x坐标增加10个点,淘淘的y坐标回到原点的时候x坐标增加了20次,则x坐增加了200个点,达到我们预期的效果了,下面来看一下代码实现,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fttiptf4v8j20hs0lu7j5.jpg)
这里为了模拟重力加速度更加真实,老师在代码里使用了“起跳高度”这个变量,变量的概念和使用我们后面的课程再详细说明,老师的代码里使用到了一个循环语句“重复执行直到触发某一条件再停止”,这个循环的意思是在满足x坐标大于204之前重复执行x坐标增加10和y坐标增加“起跳速度”这个变量的值的动作,起跳速度这个变量的值在不断减小,所以起跳高度就形成了一个抛物线的效果,小朋友们,我们今天的课程结束了,你们理解了吗?
- scratch课标
- 第一课
- scratch编程环境
- scratch介绍
- scratch编程环境各区域详解
- 课堂实战
- 第二课
- 知识点:让角色动起来
- 课堂实战一:小松鼠跳过河-设置角色名称和大小
- 课堂实战二:小松鼠跳过河-模拟重力加速度效果
- 第三课
- 知识点:程序的入口和出口
- 知识点:程序的三种执行结构
- 课堂实战
- 第四课
- 知识点:角色造型概念
- 课堂实战:唐诗绘本
- 第五课
- 知识点:角色特效展示&随机数使用
- 课堂实战
- 第六课
- 知识点:键盘方向键使用
- 第七课
- 知识点:侦测模块之碰到颜色
- 课堂实战:迷宫
- 条八课
- 知识点:克隆实现
- 课堂实战:豌豆射手
- 第九课
- 知识点:变量应用
- 第十课
- 知识点:程序进阶之自定义模块
- 第十一课
- 知识点:精美的几何世界之画笔使用
- 课堂实战进阶:九九乘法表实现
- 第十二课
- 项目实战:寻找蛋糕(一)
- 课堂实战
- 咨讯
- 韩国将"编程"纳入小学必修课程
- 家长认知
- STEAM教育理念应用的钥匙-scratch少儿编程语言
- 习大大主持开幕的人工智能大会上讲了啥
- 9.19 习大大主持开幕的人工智能大会讲了啥