1 1

分享

【Scratch 教學】等待 0 秒? 1 - Scratch 執行緒深入研究

常常有學生在做 Scratch 遊戲或動畫的時候,不管是要讓角色動起來或是變換造型,都會用到積木『等待OO秒』。但是,有沒有想過,如果執行『等待 0 秒』是否會被忽略掉而不等待?
利用變換造型做一個跳舞小動畫,應該是初學 Scratch 時做的第一個小專案。變換造型時,一定利用到了『等待OO秒』積木,而老師一定會說 0.1 秒是最適合的。
  

為什麼 0.1 秒?老師沒說!

因為【視覺暫留】:光對視網膜所產生的視覺,在光停止作用後,仍然保留一段時間的現象, 其時值約是 1/16 秒 。

但有沒有被學生問過,Scratch 的重複迴圈 1 秒可以跑幾圈?最基本的答案是,如果沒有其他程式同時在執行,那看你的電腦效能。做個簡單的實驗:
Scratch Scratch教學 傑夫老師

這台電腦大約是50萬圈

在沒有其他程式執行的"理想"狀態,依照電腦效能可以跑上 50 萬圈。
Scratch Scratch教學 傑夫老師

加上『等待 0.1 秒』 1 秒執行了 9 圈

如果加上『等待 0.1 秒』,1秒執行了9圈,也符合預期。
但換成了『等待 0 秒』,結果會是什麼呢?
Scratch Scratch教學 傑夫老師

換成了『等待 0 秒』 1 秒執行了 31 圈

那換一個方式,不用等待,但角色做造型變換,試試看!
Scratch Scratch教學 傑夫老師

換成了『圖像效果改變』 1 秒執行了 32 圈

『圖像效果改變』與『等待 0 秒』執行的結果幾乎一樣!?
或者,再做個改變:
Scratch Scratch教學 傑夫老師

換個方式執行『圖像效果改變』 1 秒也是執行了 32 圈

利用另一個程式積木串執行『圖像效果改變』, 1 秒也是執行了 32 圈。
最後,改回同學們最喜歡用的 『等待 0.01 秒』
Scratch Scratch教學 傑夫老師

換成了『等待 0 .01 秒』 1 秒執行了 31 圈

『等待 0.01 秒』也是 31 圈。
所以~結論是:如果有其他的程式要執行, 1 秒就只剩下 30 圈左右!換句話說,等待 0.033 秒以下根本沒意義。
怎麼會這樣!?待傑夫老師下篇再說明。Bye now~ 

#Scratch  #Scratch教學  #傑夫老師 
分類:學習

傑夫(Jeff)老師喜歡研究積木型(block)程式,如:Scratch, App Inventor, micor:bit,除了有一般中小學生的課程,也不定期的會開設Scratch師資培訓班,並且是「Scratch的100個技巧」的共同作者。

評論
上一篇
  • 【Scratch 教學】分身管理 3 - Scratch老師就要會管
  • 下一篇
  • 【Scratch 教學】等待 0 秒? 2 - Scratch 執行緒深入研究
  • 更多文章
    載入中... 沒有更多了