重复积木的等待时间
在编辑 Scratch 的程序时,常常会使用“重复”的功能,但在不同的情境下,有时候重复会等待,有时候又不等待,这篇文章将会介绍重复积木使用时的“等待时间”,帮助大家在使用的过程中,更能掌握相关的用法。
快速导览:
重复过程中的默认等待
使用 Scratch 的重复积木时,为了方便用户操作,在某些情况下,每次自动加入等待时间。
重复的积木里包含了“动作”或“外观”类别的积木,会自动默认 0.03X 秒左右的等待时间,如果单纯使用重复积木,默认不等待。
下图的例子可以看出,如果重复积木里没有使用到“右转”积木,纪录的时间都是 0 ,如果有使用右转积木,则会存在 0.03X 秒的等待时间。
电脑默认运作重复循环的时间通常只有几个微秒 ( 若重复次数少,几乎是在瞬间完成 ),所以呈现出来就是 0。
如果重复里又有重复,则等待的时间会按照重复的次数累计,下图的例子,执行的结果以每 0.33 秒左右纪录一次数据 ( 0.03 + 0.03x10 )。
如果将重复积木放在两个位置,只要其中一个有使用了“动作”或“外观”的积木 ( 下图使用“说出”积木 ),也会造成所有重复积木都默认 0.03X 秒的等待,下图的例子使用了两个点击绿旗积木,执行后,清单里仍然会纪录 0.03X 秒的等待时间。
你的等待不是你的等待
除了重复积木里会默认 0.03X 秒的等待时间,单纯的“等待积木”,也是默认了 0.02~0.03X 秒的等待时间,下图的例子在执行后,纪录的并非等待 1 秒,而是 1.02X~1.03X 之间的数值。
如果将等待积木放在另外的区块内,只要在同样的角色里,就会互相影响,下图的例子中,就算将等待积木放在另外一个点击绿旗积木里,仍然会影响到另外一组程序。
就算将程序改成使用“广播消息”,仍然会发生同样的状况。
由此可知,只要触发的事件 ( 等待、包含“动作”或“外观”积木 ) 在重复动作“之前”发生,就会加入默认等待 0.03X 秒的等待。
不要使用默认等待
不要使用默认的等待有两种方法,第一种是“打开加速模式”,第二种是使用“函数”并勾选“执行完毕再更新画面”。
打开加速模式:
在 Scratch 的左上方选单“编辑”里,有一个“打开加速模式”的选项。
打开加速模式后,不同重复积木内的默认等待就不会互相影响,下图的例子,在打开加速模式下,存入清单的数据就会变成 0。
使用函数,勾选“执行完毕再更新画面”:
建立函数时,下方勾选“执行完毕再更新画面”,就能关闭函数里默认的等待,且如果有使用一般地等待积木,也会在等待结束后才更新画面 ( 如果没有勾选,跟直接把内容移到外面执行的结果相同 )。
下图的例子,执行后,函数里的重复积木,不会被外部重复的等待影响,存入清单的数据就会变成 0。
微信扫码关注
抖音扫码关注