使用角色造型代替變數
使用 Scratch 時,常常會用到「變數」進行數值的溝通傳遞,這篇教學會介紹使用「角色造型」來代替變數,透過造型名稱紀錄一些不會變動但又需要切換的數值。
快速導覽:
運用造型名稱設定角色狀態
在 Scratch 裡建立一個新角色,切換到造型頁籤,設定角色只有「一組造型」,並將造型名稱設定為 run,在造型上方按下右鍵選擇「複製」,複製同樣的一組造型。
複製造型後,將複製的造型名稱改為 stop,這個角色就會具有兩個長相一模一樣,但名稱分別為 run 與 stop 的造型。
過去要實作「點擊角色開始旋轉、再點擊一次就停止旋轉」的範例,通常會新增一個變數,透過變數數值的變化,判斷何時該轉動或何時該停止,下圖呈現「常見」的寫法。
如果改用「造型名稱」的做法,可以在點擊角色時,切換角色造型,並根據角色造型決定角色是否要旋轉。
完成後,透過點擊角色的方式,就可以控制角色旋轉和停止。
如果更近一步將點擊的做法,改成「廣播」的方式,就能在點擊角色時,同時控制其他的角色,以下圖為例,點擊角色時發送 click 廣播訊號,並將原本點擊旋轉的程式,改為收到廣播 click 時再執行。
建立一個新的角色,使用「完全相同」的程式碼,就可以在點擊角色時,控制所有角色的旋轉或停止。
使用造型名稱設定角色座標
延續上一個小節的內容,新增另外一個按鈕角色,設定角色有四個「一模一樣」的造型,造型名稱從上到下分別是 -150、-50、50、150。
設定按鈕角色的程式,點擊綠旗時設定造型是第一組名稱為 -150 的造型,點擊角色時將變數 x 設定為該造型名稱,接著切換造型並發送廣播訊號 move。
新增另外一個想要被控制移動的角色,設定收到廣播訊號 move 時,滑行到指定的 x 座標。
完成後,就可以使用造型名稱紀錄位置,每次點擊時將角色移動到指定的座標。
使用造型名稱控制分身
如果將同樣的做法套用到「分身」,就能在「不使用區域變數」的狀況下,控制不同的分身,首先新增要控制的角色,將角色設定三組造型 ( 造型不一定要相同 ),名稱分別是 run1、run2 和 run3。
新增一個名為「建立分身」的函式,勾選「執行完畢再更新畫面」。
編輯這個角色的程式,點擊綠旗時執行函式,建立五十個分身,每次建立分身時,本尊都會切換造型。
新增一個變數 name,設定如果收到廣播訊息 click,判斷如果造型名稱跟 name 相同,就開始旋轉。
新增另外一個角色 button,替角色繪製三組「一模一樣」的造型,造型名稱分別是 run1、run2 和 run3。
編輯這個角色的程式,點擊角色時,設定變數 name 為目前的造型名稱,接著發送廣播訊號 click 並切換造型。
完成後,就能在點擊按鈕時,呼叫不同的分身旋轉。
小結
使用造型名稱代替變數,雖然只能替代一些「簡單」的變數數值,但卻能解決許多要用變數才能處理的狀況,如果這些狀況很簡單,不妨使用造型名稱,就不必要額外建立變數囉~
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~