控制所有分身的方法
只要熟悉全域變數和區域變數,就可以輕鬆控制指定的分身,但要如何才能更方便的控制「全部分身」呢?這篇教學會介紹 Scratch 裡可以控制所有分身的幾種方法。
相關文章參考:全域變數、區域變數、控制指定分身 ( 使用區域變數 )
控制所有分身的方法:
當分身產生時
將分身的控制程式寫在「當分身產生時」的區塊裡,是 Scratch 大部分程式常見的做法 ( 網站中大多數範例也都是這樣做 ),以下方的程式碼為例,執行後,當滑鼠移動時,所有的分身都會面朝滑鼠的方向。
由於透過重複迴圈產生分身,Scratch 會有內建 0.03 秒的時間差 ( 保護避免當機 ),如果要讓分身全部同時出現,可以建立「執行完畢再更新畫面」的函式來產生分身。
使用產生分身函式,運用同樣的原理,就能讓每一個分身「同時」進行顏色的變換,如果沒有使用函式,會看到不同分身之間會有些微的時間差,造成顏色無法同步。
當角色被點擊
有兩種方式可以設計「點擊分身」的程式,第一種作法是在產生分身後,使用重複迴圈搭配等待,就能實現點擊分身的效果,下方程式執行後,點擊分身時分身會旋轉。
第二種作法直接使用「當角色被點擊」的積木,這塊積木點擊的角色範圍,涵蓋了「本尊」與「分身」,因此只需要放置一塊積木,就會將程式套用到每個分身。
完成後執行程式,不論是哪種作法,只要點擊不同的分身,該分身就會旋轉。
收到廣播訊息
通常在操作廣播訊息積木時,都是針對角色的「本尊」,但廣播訊號原理會將訊號發送給「舞台上所有的物件」,分身也同時會收到廣播訊號,運用這個原理,以下圖的程式碼為例,當時個分身產生完成後,廣播 go 訊號,接著設定收到 go 訊號時開始變色。
程式執行後,分身會「陸續產生」,當分身全部產生完成後,才會一起開始變色。
運用廣播的原理,以下圖為例,當分身產生後,讓本尊重複無限次發送廣播訊號的程式,接著設定只要收到廣播訊號,就讓角色 ( 本尊與分身 ) 都面朝滑鼠,就能實現滑鼠移動時,角色隨之旋轉的效果。
當背景換成
「當背景換成」積木的原理跟廣播積木類似,會在背景替換時發送訊號,首先設定舞台有兩個背景。
設定舞台每隔一秒切換背景。
切換回角色的程式,設定背景換成特定名稱時,執行對應的程式。
完成後執行程式,就會發現背景變換時,所有的分身也會跟著改變顏色。
當聲音響度大於
「聲音響度大於」積木的原理跟廣播積木類似,會在麥克風音量大於指定數值時發送訊號,下圖的程式碼執行後,會在音量大於 10 的時候,改變所有分身的尺寸。
小結
「分身」雖然名為「分身」,實際上也屬於舞台裡「元件」的一份子,只要是舞台中的元件,都可以透過廣播、點擊、背景變換或聲音響度來進行控制,至於哪種控制方法比較適合?就看程式專案的需求來決定要用哪種作法~
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~