中斷與停止程式
編輯 Scratch 程式的過程裡,如果是針對較為複雜的邏輯運算,有時會需要使用「停止」程式的功能,這篇文章會詳細介紹停止程式的用法,熟悉相關功能後,對於 Scratch 的開發就更如虎添翼。
快速導覽:
三種停止程式的方法
透過停止程式積木的下拉選單,可以產生三種停止程式的方法:
- 停止全部:停止全部「重複積木」的程式,效果幾乎等同於按下舞台區的「紅色八角形停止按鈕」( 這個方法很單純,所以就不在下方多做介紹,但需要注意的是該積木是停止「重複積木」裡的程式,跟重複積木無關的程式則不受影響 )。
- 停止這個程式:停止這個物件「包含這塊積木」的整串重複程式。
- 停止這個物件的其他程式:停止這個物件但「不包含這塊積木」的其他重複程式。
停止這個程式
「停止這個程式」積木會停止這個物件「包含這塊積木」的整串程式,下圖的例子,點擊綠旗時,貓咪會開始轉動,點擊貓咪時 ( 碰到滑鼠 + 按下滑鼠 ),會停止貓咪的程式,貓咪就會停止轉動。
如果角色同時有多組程式 ( 例如多個點擊綠旗、收到廣播...等 ),執行「停止這個程式」時,只有「包含這塊積木」的整串程式會被停止,其他仍然繼續運作。
下圖的例子,點擊貓咪後會停止旋轉,但仍然持續講話和變色。
如果將「停止這個程式」積木放在「函式」裡,執行函式時,只會停止函式的積木串,對於執行函式的積木串則沒有影響,以下圖的範例而言,不論如何點擊貓咪,貓咪仍然會一直旋轉,不會停止 ( 將「停止這個程式」放在當角色被點擊裡,也是同樣的概念 )。
如果在停止這個程式的積木串裡,包含了執行的函式,執行「停止這個程式」時,仍然「不會影響」到函式內容,因為函式執行時,屬於另外的積木串。
總而言之,只要記住「停止這個程式」積木「只會影響自己所在的積木串」,不會影響到其他積木。
停止這個物件的其他程式
「停止這個物件的其他程式」積木會停止這個物件「不包含這塊積木」的其他串程式,下圖的例子,點擊綠旗時,貓咪會開始轉動,點擊貓咪時 ( 碰到滑鼠 + 按下滑鼠 ),貓咪會持續轉動,但變色與講話的程式會被停止。
雖然「停止這個物件的其他程式」會停止「不包含這塊積木」的其他串程式,但角色的「分身」則不在此限,因為分身屬於「新的物件」,不屬於「這個物件的其他程式」,下圖的例子,點擊綠旗時會產生一個分身,不論如何點擊貓咪,分身都不會停止轉動。
對於有「多個分身」的角色而言,每個分身都是各自獨立的物件,所以「停止這個物件的其他程式」只會影響角色或分身本身,不會影響到其他的分身,下圖的例子,點擊綠旗後,會產生三個分身不斷變色旋轉,當滑鼠移上分身時,該分身就會停止變色,如果點擊該分身,就會停止旋轉,彼此之間不會互相影響。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~