分享

【Scratch 教學】重複收廣播 3 - Scratch 中常犯的錯

這系列的標題雖然是"重複收廣播",但這一篇要讓大家來瞭解一下連續"發"廣播的問題,這也是在教學過程中偶爾會遇到但卻不好解決的問題。
本篇內容取材自 Scratch 專家 Cliff Davies 的 "Scratch and its inner workings"。
 不多說,直接看程式,第一段:
Scratch Scratch教學 傑夫老師 Scratch廣播

程式第一段

第二段:
Scratch Scratch教學 傑夫老師 Scratch廣播

程式第二段

第三段:
Scratch Scratch教學 傑夫老師 Scratch廣播

程式第三段

此三段程式與角色無關,可以都在同一個角色,也可以分在三個角色中。『廣播清單』中的各項會是哪些?請先想一想,再往下看。




防雷線

執行結果:
Scratch Scratch教學 傑夫老師 Scratch廣播

執行結果

跟你想的結果一樣嗎?『廣播訊息』後並不會馬上就執行『當收到訊息』的程式積木,必須等到當時的執行緒執行完畢或遇到 「讓點 (yield point)」 ,才會輪流執行。這些都與 Scratch 的內部執行機制有關,如果不知道為什麼會這樣,請從《綠旗不同步 1 -Scratch內部執行機制》看起。
動畫專案中,角色之間的互動都必須經由廣播訊息來溝通,如果有像本篇這樣連續發廣播的狀況,很可能結果就不是所預期的!
Scratch 的幾個不解之謎,都與執行機制有關,不想搞懂「執行緒」、「執行緒列表」或是「讓點」也沒關係,但一定要知道該怎麼解決或避免這樣的問題。有問題歡迎與傑夫老師討論,Bye now~
#Scratch  #Scratch教學  #傑夫老師  #Scratch廣播 
分類:學習

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

評論
上一篇
  • 【Scratch 教學】重複收廣播 2 - Scratch 中常犯的錯
  • 下一篇
  • 【Scratch 教學】突破角色尺寸放大限制
  • 更多文章
    載入中... 沒有更多了