Scratch被等待时间阻塞的流程

Hello!克隆体方阵的例子我们沿用了几节课了,有一个好消息是,我们马上就要告别这个示例进入下一个环节了,当然也有一个坏消息,坏消息是,今天的示例,我们还得用上它。如题,我们很早以前就接触过一块叫等待时间的积木,这块积木可以控制我们的程序的运行时间与运动间隔。在等待执行的这段时间里,排在它后面的积木会乖乖的遵守秩序,不会有插队的现象,这当然是个好事儿,讲文明有礼貌嘛。但如果我们并不是想插队,而只是想从口袋里拿出手机看看有没有接收到新的消息呢,就这也让人等上好一会,也太折磨人了吧。

等待时间示例 提取码: 2354

scratch_wait_time_p1

今天的示例中,我们增加了两个角色,圆圈角色代替了原来的箭头,负责管理发送消息,而蓝色的积木块呢,我们用它来演示一下如何在等待时间内,额外完成一些动作。我们将完成一个利用键盘控制蓝色方块移动的示例,蓝色方块的移动区域限定为方阵内部,方向是自上而下运动,所以在开始之前,我们在初始化的部分增加了一个边框。当蓝色方块碰到边框时,我们将命令它退回一格。

scratch_wait_time_p2

边框绘制部分的程序,定义在了初始化方阵之后,以下是绘制部分的程序,为了不产生误操作,我们的边框离开了方阵主体一小段距离,确保蓝色方块移出方阵时,才会符合颜色检测的判断条件。

scratch_wait_time_p3

橙色的圆圈角色只负责在点击绿旗后发送一个消息2,这里就不另行截图了,后期它会负责更多的任务,当然这是下一节课程的内容了。

scratch_wait_time_p4

因为方阵是25像素一格,所以我们控制蓝色方块按25像素的距离匀速下落,下落的间隔是0.8秒,由于等待时间比较漫长,而中间我们需要允许用户通过左右箭头控制方块的横向移动,这个时候怎么办呢,我们另外拖出一块“当接收到消息2”的积木。

scratch_wait_time_p5

这样一来,消息2会同时触发蓝色方块上的两个任务,一个任务负责下落,而另一个任务负责平移,两者同时进行,也就不存在等待0.8秒的过程中,无法正常平移积木的现象了。试着运行一下示例,蓝色积木缓慢下落,我们通过左右键可以控制它的平移,当积木下落到方阵底部时,这个积木上的脚本就被停止了,我们无法再通过按键控制它。有点儿象…俄罗斯方块的玩法对不对?事实上,方阵这一系列的课程,正是俄罗斯方块游戏的前奏,结束这一系列,我们将会着手制作一个Scratch版本的俄罗斯方块游戏。

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

Scratch利用列表记录游戏数据

2023-7-28 8:20:30

综合资讯

Scratch对克隆体的精确控制

2023-7-28 8:20:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索