變數積木 ( Variables Blocks )
變數積木 Variables Blocks 是一個帶有自訂名稱的「容器」,容器裡可以放入數字、字串、清單或是邏輯判斷等資訊,更可以讓其他程式積木重複使用,在許多較為複雜的程式,都會大量應用到變數,來簡化程式邏輯,讓程式更彈性更容易編輯。
跟變數積木類似的還有清單積木,參考:清單積木 ( Lists Blocks )
建立 / 設定變數
Scratch 3 已經預設建立了一個名為 my variables 的變數,當已經有變數的時候,會出現四個變數積木選單,分別是:
- 變數...設為:指定變數為某個數值、字串、清單或是邏輯。
- 變數...改變:針對「內容為數值」的變數,進行數字的改變。
- 變數...顯示:變數顯示在舞台內。
- 變數...隱藏:變數從舞台隱藏。
點擊選單裡「新增變數」的按鈕,會彈出一個新增變數對話視窗,可以輸入變數的名稱,並選擇「適用於所有角色」還是「僅適用於當前角色」。( 如果已經通過 Scratch 審核成為 Scratcher,還會出現雲端變數的選項 )
- 適用於所有角色:全域變數,所有的角色和舞台都能使用、編輯這個變數。
- 僅適用於當前角色:區域變數,「只有當前角色」能使用、編輯這個變數 ( 在舞台建立變數,沒有這個選項 )。
- 雲端變數:只能儲存數字,針對分享的專案使用,當專案的使用者在執行的過程中修改了雲端變數 ( 並非程式編輯的修改 ),其他的使用者都能看到這個變數被修改了,很常作為遊戲裡紀錄最高分數的機制。
建立變數後,在變數積木的選單裡,就會看見建立的變數 ( 並且可以使用 ),同時在舞台的左上方,也會看見預覽變數的小方框,該方框可以藉由「變數...顯示」或「變數...隱藏」積木,來控制是否顯示。
舉例來說,放入「變數...設為」的積木,將變數設定為 hello 的文字,接著讓角色說出變數,執行後角色就會說出 hello 的文字。
如果是「適用於所有角色」的全域變數,執行後有用到這個變數的所有角色都會發生變化,舉例來說,建立一個新的企鵝角色,讓企鵝說出變數,程式執行後,就會發現企鵝和貓咪都講出同樣的內容。
注意,這個範例程式的企鵝角色,有額外加入「等待 0.1 秒」的機制,因為在執行的當下,企鵝說話的時間比「變數...設為」的時間快,所以如果沒有加上等待,可能會發生兩者變數不同步的現象。
刪除變數
如果要刪除或修改變數名稱,可以在積木選單的變數積木上方,按下滑鼠右鍵,就會出現修改名稱和刪除的選單。
改變 / 調整變數
「變數...改變」積木是針對「數值」的內容進行增加或減少的改變,下方的例子的第一組積木,在點擊綠旗按鈕後,設定變數為 0,並讓貓咪說出一開始的變數數值,第二組積木則是在點擊貓咪時,讓變數內容改變 1,執行後,用滑鼠點擊貓咪,就會看見變數往上增加。
如果舞台裡有顯示變數的方框,將滑鼠移到方框上按下右鍵,會出現三個選項,點選「滑桿」,就能直接在舞台上調整變數的數值。
- 一般顯示:顯示字體較小,同時顯示變數名稱與內容。
- 大型顯示:顯示字體較大,只顯示變數內容。
- 滑桿:針對「數值」內容調整,選擇滑桿後,會額外出現「變更滑桿數值範圍」的選項,比較需要注意的,如果變數內容不是數字,使用滑桿之後,會強制從 0 開始。
以剛剛上方的程式為例,如果將變數顯示在畫面上,透過滑桿調整變數數值,點擊貓咪角色時,看到的變數數值就會發生變化。
範例連結:範例 - 點擊貓咪改變變數
顯示 / 隱藏
「顯示 / 隱藏變數積木」可以控制變數是否顯示在舞台上。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~