scratch程序设计篇
随着孩子们逐渐入门scratch,开始自己拼搭程序建立项目,他们对角色实现动作效果的要求也更高,这时候开始遇到了“并行程序”这个问题。我之前讲过,6-8岁这个年龄段的孩子们现在的思维是直线式的。如果让他们创建角色动作的程序代码,他们往往是这样的
在动作比较少、对走(跑)动画效果表现要求不高的的角色里,这没什么问题。但是对于表达更精巧的动画中,这显然是不够看的!将动作(造型)变化和运动(移动)堆放在一起,加上时间间隔,会使得运动特别机械,不自然、不流畅。即使用缩短时间间隔的办法暂时解决动作了不流畅的问题,但是如果再配合上声音等等效果,还是无法解决多个效果功能实现的问题。这就需要用并行程序(并行代码块)来解决——拆分-组合动作变化、移动、声音、旋转等代码指令!
下面这个案例可以很好地来体现并行程序的效果:
这段小动画是角色wuffle从铁轨的尽头(远处)不断奔跑,跑到屏幕前方(近处)的过程,同时伴随着脚步声。
这里需要三个并行程序
第一段程序是实现连续奔跑的效果,wuffle有8个连续奔跑的造型,按顺序切换这些造型就能产生奔跑的效果。第二段程序是实现从远处奔跑到屏目前的效果,本质上就是角色从小变大的过程。第三段程序是奔跑时配合的脚步声音。要实现这三段程序并行的效果,一段程序是无法达到的。我们可以试一试,把声音放一边,先合并程序1和程序2:
合并之后执行的程序,要么是脚步声配合不上,要么是脚步声配合上了但奔跑速度太快,而且都会出现同一个问题——说“呼呼”的时候奔跑已经停止了,脚步声还在响!
(“奔跑的wuffle”案例来自于李泽的《scratch高手密码》)
我们再看一个上一次企鹅滑雪的那个动画,如果把企鹅造型变化和摇晃移动的效果合在一起会怎么样
企鹅不再有从远处摇摇晃晃滑雪滑到近处的过程。(点击“原文链接”看企鹅流畅效果)
从这两个例子,我们可以知道:并行程序(或者叫做“并行代码块”)就是能够同时执行的程序(代码块)。它可以用在“当开始被点击”,也可以用在其他触发程序的代码块之下,用以同时启动多段程序指令(作为初学者,应让一段程序脚本尽可能处理少的事情)。
(这是电子学会scratch一级考试模拟题,可见对并行程序的知识是有学习要求的!)
进一步做延伸:除了一个启动代码块可以触发多段程序,还可以有多个代码块搭配,启动不同的程序。比如下面这个:
还可以是这样的:
当开始被点击后,先启动第一段程序,角色被点击后启动第二段程序,第一段和第二段程序同时进行;第二段程序又引发第三段程序的启动,这时第一段和第三段程序是并行的。
总结并行程序的使用场合:1、不同的程序代码又明确的功能划分,每一块实现独立的功能。2、脚本里有占用时间的模块需要等待,比如“等待……秒”“消息”类等待,等待的时候同时进行别的事。
标签:效果,并行程序,scratch,代码,程序,奔跑,并发,程序设计 From: https://www.cnblogs.com/luoyegeishudeliuyan/p/16883545.html