Scratch技能修炼屋:跳跃

网友投稿 2018-07-04 12:23

小朋友们,欢迎来到大胆假设的Scratch技能修炼屋。

这一次Daner博士要带着我们学习——跳跃。

https://cdn.china-scratch.com/timg/180706/1223402018-0.jpg

奥运会的田径场上,撑杆跳运动员可以蹦到五米的高度。作为一项日常中常见的运动项目——跳绳也跟跳跃有关。澳大利亚的大草原上一只只袋鼠四肢一蹬,跳过去了。

这些行为都是跳跃。

https://cdn.china-scratch.com/timg/180706/12234161R-1.jpg

如果脑洞开得再大一些。西游记里面的孙悟空,那可是一个跟头十万八千里的跳跃呀。

这样看来,无论是天上人间、神仙动物,跳跃都是一项必不可少的技能。

https://cdn.china-scratch.com/timg/180706/1223411622-2.jpg

如果让我们用程序,写出可以一跃千丈的武林大师。不需要他寒来暑往的修炼,只需要一行代码就能搞定。

https://cdn.china-scratch.com/timg/180706/1223412646-3.jpg

现在就让我们和Daner博士,一起来获取跳跃的技能吧。 

  首先我们都知道Scratch通过XY坐标系确定角色的位置。从哪来到哪去都是坐标说了算。

https://cdn.china-scratch.com/timg/180706/1223411595-4.jpg

所以要让骑着斯泰利的拿破仑跳起来,我们就要用到将Y坐标增加100这个代码。当我们编写好代码自信按下空格键的时候。 

  “额...怎么还不下去!我要下去!快放我下去!!

  我要回家!!!”

https://cdn.china-scratch.com/timg/180706/1223415329-5.jpg

跳跃其实可以分为两个部分——向上和向下。让我们增加一行代码——将Y坐标增加-100。

现在自信地按下空格键吧。让我们等待奇迹...

  “诶?怎么什么变化也没有?”

https://cdn.china-scratch.com/timg/180706/1223413S3-6.jpg

我们都知道计算机程序运行的是非常快的。

  可不要盯着那只乌龟看哦。我们要快点!快点!再快点!再快再快!

  所以当我们的向上移动代码下面紧接着向下移动代码,看起来就会是没有移动。

https://cdn.china-scratch.com/timg/180706/1223412a0-7.jpg

怎么办呢?

  我们需要加入等待时间,让程序慢点来。

  现在,我们又要来按空格键了。

  为什么还有问题?

https://cdn.china-scratch.com/timg/180706/122341Ja-8.jpg

之前的跳跃我们每次改变100的坐标值。这一步迈得真大!如果步子迈小一些,像后面的这只兔子一样碎步前进,是否就可以解决问题呢?

  说改就改,让我们把100拆成10份。每次改变10坐标值。这样角色就可以一步一步的前进。过了中间的等待时间之后,再一步一步的后退。完美!

  可是你怎么还在闪呢?

  让我们仔细想一想。

https://cdn.china-scratch.com/timg/180706/1223412128-9.jpg

这样看来,问题还是原来那个——程序执行得太快了。

  解决的方案就是给每步移动之间加入等待时间。

https://cdn.china-scratch.com/timg/180706/1223424538-10.jpg

好了,现在的效果是不是非常理想呢?

  观察一下我们的代码,是不是显得有些累赘呢?

  有什么方法可以简化一下呢?

  没错,用重复执行就可以了。

https://cdn.china-scratch.com/timg/180706/122342B06-11.jpg

相信大家一定见过这样的电影放映机,摇动转轮,银幕上就会出现动画。但其实,银幕上闪现的只是一张张图片。这一张张图片闪现的速度非常快,如果每秒从人眼中闪现的画面多余30帧,人就会认为这是连续的动画,而非一张张图片。

  我们可以清楚地看到,画面播放的速度越快,越接近于动画的效果。

  快点!再快点!快到停不下来吧!每秒三十帧,也就是三十分之一秒一帧。近似于0.033333秒一帧。这就是我们常用的等待时间是0.03秒的原因。

  在我们的Scratch中重复执行代码,执行某些会影响舞台效果的程序时,会默认地在程序末尾加上这样一个等待0.03秒的代码。

  所以当出现重复执行时,我们可以省略等待0.03秒的代码。

https://cdn.china-scratch.com/timg/180706/1223424559-12.jpg

好了,我们的跳跃代码写到这里就算结束了。小拿拿,你可以回家啦。

https://cdn.china-scratch.com/timg/180706/1223424226-13.jpg

  我们今天的学习到这里就要结束了。关于跳跃的技能你们都学会了吗?

我们再一起来复习一下吧。

划重点:

  跳跃技能需要用到将Y坐标增加和减小的代码。通过Y坐标的改变, 控制角色上下移动。

  还需要用到重复执行。如果重复执行中加入了会影响舞台效果的程序,重复执行就会在程序末尾自动地添加等待0.03秒以便我们能够看到。

https://cdn.china-scratch.com/timg/180706/12234263F-14.jpg

如果你已经学会了这些知识,那么,恭喜你!

  获得了跳跃技能!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com