Scratch技能修炼屋:跳跃
小朋友们,欢迎来到大胆假设的Scratch技能修炼屋。
这一次Daner博士要带着我们学习——跳跃。
奥运会的田径场上,撑杆跳运动员可以蹦到五米的高度。作为一项日常中常见的运动项目——跳绳也跟跳跃有关。澳大利亚的大草原上一只只袋鼠四肢一蹬,跳过去了。
这些行为都是跳跃。
如果脑洞开得再大一些。西游记里面的孙悟空,那可是一个跟头十万八千里的跳跃呀。
这样看来,无论是天上人间、神仙动物,跳跃都是一项必不可少的技能。
如果让我们用程序,写出可以一跃千丈的武林大师。不需要他寒来暑往的修炼,只需要一行代码就能搞定。
现在就让我们和Daner博士,一起来获取跳跃的技能吧。
首先我们都知道Scratch通过XY坐标系确定角色的位置。从哪来到哪去都是坐标说了算。
所以要让骑着斯泰利的拿破仑跳起来,我们就要用到将Y坐标增加100这个代码。当我们编写好代码自信按下空格键的时候。
“额...怎么还不下去!我要下去!快放我下去!!
我要回家!!!”
跳跃其实可以分为两个部分——向上和向下。让我们增加一行代码——将Y坐标增加-100。
现在自信地按下空格键吧。让我们等待奇迹...
“诶?怎么什么变化也没有?”
我们都知道计算机程序运行的是非常快的。
可不要盯着那只乌龟看哦。我们要快点!快点!再快点!再快再快!
所以当我们的向上移动代码下面紧接着向下移动代码,看起来就会是没有移动。
怎么办呢?
我们需要加入等待时间,让程序慢点来。
现在,我们又要来按空格键了。
为什么还有问题?
之前的跳跃我们每次改变100的坐标值。这一步迈得真大!如果步子迈小一些,像后面的这只兔子一样碎步前进,是否就可以解决问题呢?
说改就改,让我们把100拆成10份。每次改变10坐标值。这样角色就可以一步一步的前进。过了中间的等待时间之后,再一步一步的后退。完美!
可是你怎么还在闪呢?
让我们仔细想一想。
这样看来,问题还是原来那个——程序执行得太快了。
解决的方案就是给每步移动之间加入等待时间。
好了,现在的效果是不是非常理想呢?
观察一下我们的代码,是不是显得有些累赘呢?
有什么方法可以简化一下呢?
没错,用重复执行就可以了。
相信大家一定见过这样的电影放映机,摇动转轮,银幕上就会出现动画。但其实,银幕上闪现的只是一张张图片。这一张张图片闪现的速度非常快,如果每秒从人眼中闪现的画面多余30帧,人就会认为这是连续的动画,而非一张张图片。
我们可以清楚地看到,画面播放的速度越快,越接近于动画的效果。
快点!再快点!快到停不下来吧!每秒三十帧,也就是三十分之一秒一帧。近似于0.033333秒一帧。这就是我们常用的等待时间是0.03秒的原因。
在我们的Scratch中重复执行代码,执行某些会影响舞台效果的程序时,会默认地在程序末尾加上这样一个等待0.03秒的代码。
所以当出现重复执行时,我们可以省略等待0.03秒的代码。
好了,我们的跳跃代码写到这里就算结束了。小拿拿,你可以回家啦。
我们今天的学习到这里就要结束了。关于跳跃的技能你们都学会了吗?
我们再一起来复习一下吧。
划重点:
跳跃技能需要用到将Y坐标增加和减小的代码。通过Y坐标的改变, 控制角色上下移动。
还需要用到重复执行。如果重复执行中加入了会影响舞台效果的程序,重复执行就会在程序末尾自动地添加等待0.03秒以便我们能够看到。
如果你已经学会了这些知识,那么,恭喜你!
获得了跳跃技能!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com