重複積木的等待時間
在編輯 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。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~