最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

慢教育Scratch教案 / 小猫跨栏

Scratch 少儿编程 2609浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

这个暑假,慢教育召集喜爱Scratch编程的孩子一起自学Scratch编程,我们组了一个群,让一群素不相识的孩子,可以围绕一个任务,切磋代码;可以交流遇到的难题,在讨论中获得主动学习的快乐;可以分享成果,交流用代码表达思维的乐趣。慢教育公众号会每周发布一次编程任务。也会不定期推送孩子们的编程作品。上周因为休假,暂停了Scratch案例分享,今天我们来编一个好玩的游戏:小猫跨栏。

 

 

任务设置

 

按下空格键,小猫开始跑步,每按一次空格键,跑一步;按下上箭头,小猫竖直起跳,然后一个栏架一个栏架跨过去,最后计算跑100的时间。

 

要求:

1、小猫跑步过程,采用相对运动原理,小猫不动,栏架朝小猫运动;

2、小猫跳跃动作,需要符合物体自由落体规则;

3、如果小猫碰到栏架,栏架倒地,时间增加1秒。

 

背景和角色设计

 

慢教育Scratch教案 / 小猫跨栏
背景绘制一个黑色的长方形作为跑道。

 

慢教育Scratch教案 / 小猫跨栏 

用默认的小猫作为游戏主角色

有两个造型可以切换

模拟跑步的小猫

 

 慢教育Scratch教案 / 小猫跨栏

绘制一个简单的长方形

作为栏架

有两个不同的造型

 

 

脚本分解

 

程序开始前,需要设置4个变量。

新建变量 按钮,出现这个对话框,在变量名文本框里填入对应的变量名称,点击确定,即可创建一个变量。这里我们选择全局变量选项,也就是适用于所有角色的变量。

 

 慢教育Scratch教案 / 小猫跨栏
 

下面分别讲解4个变量的作用。 

 

 慢教育Scratch教案 / 小猫跨栏

变量“距离”,记录小猫跑过的距离,程序运行过程中,距离会不断变化,程序的变量相当于一个容器,用来存放这个不断变化的数据,勾选变量前面的小方框,可在舞台上显示变量的数值。

 

变量“时间”,记录小猫跑了100步用的时间,也是游戏最终的成绩。

 

变量“Vy”,用来存放小猫跳跃速度,这个速度会随着高度变小,直到最高点0,然后反方向变大。

 

变量“t”,用来存放小猫起跳起来的时长,这个时长用于计算小猫竖直起跳的运动轨迹。

 

下面对小猫角色编写脚本。

 

慢教育Scratch教案 / 小猫跨栏

 

同样的,点击绿旗,程序开始。

开始时,需要初始化变量值,将距离和时间清零。

设置小猫的位置。

 

测定跑100步所用的时间

 

慢教育Scratch教案 / 小猫跨栏

用一个条件循环来计时:

当距离=100时,也就是小猫跑了100步,停止执行。

循环内,我们用“将时间变量增加0.1”,然后“等待0.1秒”,两个模块,完成计时功能;

下面还有一个条件语句,用来处理小猫跑步过程中碰到栏架的情况。

用“如果碰到……那么……”条件,

碰到栏架,将时间增加1秒。

 

 慢教育Scratch教案 / 小猫跨栏

循环执行完毕后,游戏结束,显示所用时间。

 

 如何让小猫跑起来?

 

我们用事件模块的“当按下空格键”控制小猫跑步。

 

 慢教育Scratch教案 / 小猫跨栏

 

按下空格键,将变量“距离”增加1,相当于小猫跑了1步。

在这个过程中,我们用改变小猫的造型,但是保持小猫坐标不变,让栏架向小猫运动,模拟小猫的相对运动的视觉效果。代码如下:

 

小猫角色的脚本,改变造型,增加变量“距离”的值。

 

慢教育Scratch教案 / 小猫跨栏

栏架角色的脚本,按下空格键后,用移动(-20)模块,实现向左移动。

 

慢教育Scratch教案 / 小猫跨栏

这里特别需要注意的是,我们用了下面三个模块的组合语句,实现“空格键没有按下前不执行后面的代码”这个逻辑,防止长按空格键,出现连续移动和连续计数。

 

 慢教育Scratch教案 / 小猫跨栏

栏架在向左移动的过程中,如果小猫碰到了栏架,那么,用另一个造型,栏架倒地。

 

慢教育Scratch教案 / 小猫跨栏

 

如何让小猫跳起来?

 

这是这个游戏的难点,因为我们想让小猫的起跳符合物理运动规律,大家熟悉下物体竖直运动的公式:V=V0-gt

 

这里V是任意运动时刻的速度,V0是初始速度,g是重力加速度常数,我们这里用10,t是运动时间。

 

 慢教育Scratch教案 / 小猫跨栏

  

小猫起跳,代码是这样的:

慢教育Scratch教案 / 小猫跨栏

 

当按下上移键,发出一个开始计时的广播;

设定小猫跳跃的初始速度为10;

 

计时模块如下:

 

慢教育Scratch教案 / 小猫跨栏

根据小猫竖直运动的加速度公式,计算小猫的运动速度;

然后改变y坐标的距离,将速度转化为小猫跳起来的位置。

 

 慢教育Scratch教案 / 小猫跨栏

这里需要注意的时,当小猫跳到最高点后,会自由落下,我们需要判断小猫落到地面的情况,防止小猫一直下坠。

 

慢教育Scratch教案 / 小猫跨栏

如果小猫碰到了地面(碰到黑色)并且上移键没有按下:

将小猫的竖直速度(Vy)设为0;

同时将小猫的y坐标设为初始值-100;

同时,发出结束计时的广播。

 

 慢教育Scratch教案 / 小猫跨栏

小猫脚本完成。

下面编写栏架的脚本。

 

栏架如何运动

 

按下空格键,小猫开始跑步,这个过程中,栏架不停向小猫方向移动,栏架移动到左边缘时,用克隆自己命令,重新生成一个新栏架。代码如下:

 

慢教育Scratch教案 / 小猫跨栏

游戏开始时,初始化位置和形状。

 

慢教育Scratch教案 / 小猫跨栏

 

碰到了左边缘?在右边初始位置克隆自己。

当每一个克隆体启动时,

都调用下面的代码。

 

慢教育Scratch教案 / 小猫跨栏

 下面我们看下这个游戏运行的画面: 

 

 

-End-

您必须 登录 才能发表评论!