项目要求:
有一只蝴蝶在草丛中玩耍,它一会儿从草丛西边缓慢地飞往草丛东边,一会儿从草丛东边缓慢地飞往草丛西边,扇着美丽的翅膀,飞来飞去。
在竞赛中,出题者会重点考察参赛选手对题意的理解。
例如,题目中有“缓慢地移动”“缓慢地飞过去”“要看到移动的过程”等字眼,这就表明绝对不能让角色瞬间移到目标位置,即必须看到移动的过程,这时就可以使用“在1秒内滑行到……”积木。
具体步骤:
1、初始化蝴蝶的各种属性
2、缓慢地飞行
从草丛西边缓慢地飞往草丛东边,再从草丛东边缓慢地飞往草丛西边
3、飞行中不停地扇动翅膀
在Scratch中,角色库中的大部分角色都包含多个造型,本题中蝴蝶角色有两个造型
要想使蝴蝶在程序运行的整个过程中不停地拍打翅膀,就需要不停地切换下一个造型。
但是,这个循环应该拼接到哪里呢?
有人说,直接拼接到上面程序的下面,我们来试一下
大家按照这个方式运行一下,就会发现,蝴蝶不是一边扇动翅膀一边飞来飞去的,而是先从西到东飞,又从东到西飞,然后才开始扇动翅膀,显然不符合题意。
我们希望是蝴蝶一边飞一边扇动翅膀,这里就涉及到多线程的问题。
我们要让蝴蝶飞行和蝴蝶扇动翅膀的脚本程序互不影响,又同时进行。所以,我们需要另起一个脚本块。
这样一来,左边的脚本块负责飞行移动,右边的脚本块负责切换造型扇动翅膀,这就是多线程的编码方式。多线程的方法在Scratch编程中非常常见,也很容易实现,同学们一定要学会这种方法哦!
另外,我们会发现蝴蝶扇动翅膀的速度有点太快了,可以调整一下,让每次的造型切换都间隔一定时间。
这样,符合项目要求的脚本程序就编写完成了,赶紧亲自动手试一下吧!