分享

【Scratch 教學】分身管理 1 - Scratch老師就要會管

Scratch 的分身是個最重要的技巧,初學時雖然很排斥,一旦學會了就發現很好用。然而使用分身還有很多地方要注意,很多書都沒有教,甚至不會教怎麼善用分身,就讓傑夫老師從最基礎的部分開始來為各位說明。
說到分身,那要先提什麼是「本尊」。
Scratch Scratch教學 傑夫老師 本尊 分身

中間沒有變色的是「本尊」,移動本尊會改變屬性區的參數,分身不會

「本尊」就是用來產生各個分身的角色,分身會繼承本尊的屬性,然而只有本尊可以在角色屬性區被改變位置、方向等參數;或者反過來,用滑鼠在舞台區中移動會改變到屬性區的參數的,就是本尊。
  

Scratch 遊戲設計中,通常讓「本尊」隱藏,所有的事情交給分身去做,程式只要寫一次就可以。不會的來找傑夫老師~

再回到前單元中所提的,為何不常使用『建立自己的分身』?所有的 Scratch 書都會提到,因為分身不能用『廣播』建立。如果分身還沒刪除,每個分身都會收到廣播訊息,分身就會以等比級數(2, 4, 8, 16, …)的數量產生。
另外,很多書就沒提到這點了,如果『建立自己的分身』接在『當OO鍵被按下』,也會有一樣的結果。所以,『建立自己的分身』通常用在這個角色的分身不依賴別的角色,例如:出現固定幾個分身或不定時出現的敵人。
Scratch Scratch教學 傑夫老師 本尊 分身

『當按鍵被按下』方式產生分身也會讓分身暴增

但是,學生永遠有問題。學生問:在遊戲過程中,我就是要用到『當按鍵被按下』,而且還要分辨「本尊」與「分身」,該怎麼做?
看看下面的例子:拿著香蕉的是本尊,按下按鍵會隨機移動的是分身。要如何讓本尊不跟著動呢?
Scratch Scratch教學 傑夫老師 本尊 分身

拿著香蕉的是本尊,按下按鍵會隨機移動的是分身

雖然這問題不好(不符合本尊該隱藏的分身使用方式),但還是有解決方法,方法在使用一個區域變數『分身?』就行,將本尊的『分身?』變數設為 0;分身的『分身?』變數設為 1,就可以分辨了。
程式如下:
Scratch Scratch教學 傑夫老師 本尊 分身

本尊的『分身?』變數是 0;分身的『分身?』變數是 1

因為『分身?』是個區域變數,本尊與各個分身的變數值是"獨立"的,『當分身產生』時分身的『分身?』變數設為了 1,就可以區分本尊與分身了。
按鍵按下的程式:
Scratch Scratch教學 傑夫老師 本尊 分身

這樣就能讓本尊不接受按鍵按下的事件了

但,這還不是所謂的"管理",至於要怎麼做到管理,請看下一篇。Bye now~
  

很多 Scratcher 在變數後面加個 '?' 來分辨這是一個「布林 (Boolean)」類型的變數,此類型值不是真 (True) 就是假 (False)。英文變數名稱通常在前面加個 'is',例如 "isClone?"

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

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

評論
上一篇
  • 【Scratch 教學】分身編號 3 -Scratch分身與執行緒
  • 下一篇
  • 【Scratch 教學】分身管理 2 - Scratch老師就要會管
  • 更多文章
    載入中... 沒有更多了