搜尋

變數積木 ( Variables Blocks )

變數積木 Variables Blocks 是一個帶有自訂名稱的「容器」,容器裡可以放入數字、字串、清單或是邏輯判斷等資訊,更可以讓其他程式積木重複使用,在許多較為複雜的程式,都會大量應用到變數,來簡化程式邏輯,讓程式更彈性更容易編輯。

建立 / 設定變數

Scratch 3 已經預設建立了一個名為 my variables 的變數,當已經有變數的時候,會出現四個變數積木選單,分別是:

  • 變數...設為:指定變數為某個數值、字串、清單或是邏輯。
  • 變數...改變:針對「內容為數值」的變數,進行數字的改變。
  • 變數...顯示:變數顯示在舞台內。
  • 變數...隱藏:變數從舞台隱藏。

Scratch 3 教學 - 變數積木 Variables Blocks - 建立變數

點擊選單裡「新增變數」的按鈕,會彈出一個新增變數對話視窗,可以輸入變數的名稱,並選擇「適用於所有角色」還是「僅適用於當前角色」。( 如果已經通過 Scratch 審核成為 Scratcher,還會出現雲端變數的選項 )

  • 適用於所有角色:全域變數,所有的角色和舞台都能使用、編輯這個變數。
  • 僅適用於當前角色:區域變數,「只有當前角色」能使用、編輯這個變數 ( 在舞台建立變數,沒有這個選項 )。
  • 雲端變數:只能儲存數字,針對分享的專案使用,當專案的使用者在執行的過程中修改了雲端變數 ( 並非程式編輯的修改 ),其他的使用者都能看到這個變數被修改了,很常作為遊戲裡紀錄最高分數的機制。

Scratch 3 教學 - 變數積木 Variables Blocks - 建立變數

建立變數後,在變數積木的選單裡,就會看見建立的變數 ( 並且可以使用 ),同時在舞台的左上方,也會看見預覽變數的小方框,該方框可以藉由「變數...顯示」或「變數...隱藏」積木,來控制是否顯示。

Scratch 3 教學 - 變數積木 Variables Blocks - 建立變數

舉例來說,放入「變數...設為」的積木,將變數設定為 hello 的文字,接著讓角色說出變數,執行後角色就會說出 hello 的文字。

Scratch 3 教學 - 變數積木 Variables Blocks - 建立變數

如果是「適用於所有角色」的全域變數,執行後有用到這個變數的所有角色都會發生變化,舉例來說,建立一個新的企鵝角色,讓企鵝說出變數,程式執行後,就會發現企鵝和貓咪都講出同樣的內容。

注意,這個範例程式的企鵝角色,有額外加入「等待 0.1 秒」的機制,因為在執行的當下,企鵝說話的時間比「變數...設為」的時間快,所以如果沒有加上等待,可能會發生兩者變數不同步的現象。

Scratch 3 教學 - 變數積木 Variables Blocks - 建立變數

刪除變數

如果要刪除或修改變數名稱,可以在積木選單的變數積木上方,按下滑鼠右鍵,就會出現修改名稱和刪除的選單。

Scratch 3 教學 - 變數積木 Variables Blocks - 刪除變數

改變 / 調整變數

「變數...改變」積木是針對「數值」的內容進行增加或減少的改變,下方的例子的第一組積木,在點擊綠旗按鈕後,設定變數為 0,並讓貓咪說出一開始的變數數值,第二組積木則是在點擊貓咪時,讓變數內容改變 1,執行後,用滑鼠點擊貓咪,就會看見變數往上增加。

Scratch 3 教學 - 變數積木 Variables Blocks - 改變變數

如果舞台裡有顯示變數的方框,將滑鼠移到方框上按下右鍵,會出現三個選項,點選「滑桿」,就能直接在舞台上調整變數的數值。

  • 一般顯示:顯示字體較小,同時顯示變數名稱與內容。
  • 大型顯示:顯示字體較大,只顯示變數內容。
  • 滑桿:針對「數值」內容調整,選擇滑桿後,會額外出現「變更滑桿數值範圍」的選項,比較需要注意的,如果變數內容不是數字,使用滑桿之後,會強制從 0 開始

Scratch 3 教學 - 變數積木 Variables Blocks - 調整變數

以剛剛上方的程式為例,如果將變數顯示在畫面上,透過滑桿調整變數數值,點擊貓咪角色時,看到的變數數值就會發生變化。

範例連結:範例 - 點擊貓咪改變變數

Scratch 3 教學 - 變數積木 Variables Blocks - 改變變數

顯示 / 隱藏

「顯示 / 隱藏變數積木」可以控制變數是否顯示在舞台上。

Scratch 3 教學 - 變數積木 Variables Blocks - 顯示或隱藏變數

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

Scratch 3 教學

基本介紹

關於 Scratch 3 使用 Scratch 3 註冊與登入 操作介面 我的東西

圖形與聲音

繪製造型&背景 編輯音效

程式積木

積木種類 動作 外觀 音效 事件 控制 偵測 運算 變數 清單 函式積木

擴充功能

音樂 畫筆 視訊偵測 文字轉語音 翻譯

技巧&觀念

全域變數、區域變數 控制指定分身 雲端變數 雲端變數記錄文字 變數串接文字 文字轉清單 中斷與停止程式 廣播訊息並等待 鍵盤與滑鼠 突破角色尺寸限制 角色與舞台邊界 重複積木的等待時間 清單數字排序 清單最大值最小值

入門範例

鍵盤控制貓咪 指向中間的箭頭 水果音樂鋼琴 貓咪的影分身之術 貓咪的細胞分裂 螃蟹跑來跑去 吃水果 摸蝴蝶 小狗追棒球 魚兒水中游 小鳥往前飛 舞棍阿伯 小時鐘 搖骰子 轉動的眼球 抽獎輪盤 大樂透電腦選號 移動到邊緣切換場景 人物依序跳舞 ( 廣播 ) 按鈕控制貓咪 ( 廣播 )

進階範例

貓咪跑步 ( 連續背景 ) 貓咪跑步 ( 超長背景 ) 大型數字 ( 圖形數字 ) 拖拉怪獸碰撞牆壁 鍵盤鋼琴 ( 記錄音符 ) 中文字逐字稿 英文字逐字稿 計算機 1 ( 顯示數字 ) 計算機 2 ( 加減乘除 ) 雲端聊天室 推貓咪 ( 視訊偵測 ) 圍捕小魚 ( 視訊偵測 ) 戳泡泡 ( 視訊偵測 )

視覺特效範例

視差效果 水中吐泡泡 雪花隨風飄 鍵盤鋼琴 ( 音符動畫 ) 無限循環畫中畫 水底探照燈 狙擊望遠鏡 ( 兩倍變焦 ) 貓咪萬花筒 仙女棒 ( 光跡效果 ) 駭客任務背景特效 放煙火 1 ( 往上發射 ) 放煙火 2 ( 爆炸效果 )

繪圖範例

鏡射畫圖 ( 對稱圖形 ) 小畫家 ( 舞台上畫圖 ) 記錄畫圖軌跡 繪製圓形 繪製橢圓形 繪製立方體 ( 會動 ) 繪製正多邊形 繪製正多角星形 ( 單純 ) 繪製正多角星形 ( 多線 ) 繪製拋物線 繪製折線圖 蜘蛛結網 ( 八邊形網 ) 繪製舞台方格 繪製正弦波形 ( sin ) 正弦波毛毛蟲動畫 顯示聲波圖形

物理&模擬範例

鐘擺運動 簡單磁鐵效果 兩個磁鐵的磁力線 立體空間 ( 三度空間 ) 循跡移動 拋物線發射炮彈 地球繞著太陽轉 彈跳的籃球 電風扇 ( 控制強度 ) 拉不走的彈力球 慣性移動 ( 滑鼠 ) 慣性移動 ( 鍵盤 )

入門遊戲範例

猴子接香蕉 打地鼠 刮刮樂 吹風機吹頭髮 太空狗閃躲隕石 九九乘法測驗 英文單字測驗 釣魚遊戲 拍西瓜 ( 儲存最高分 ) 形狀配對拼圖 台灣地圖拼圖 英文打字機 射擊外星人 猜數字 ( 猜大小 ) 猜數字 ( 幾 A 幾 B ) 連連看 ( 產生器 ) 連連看

進階遊戲範例

青蛙過河 青蛙過馬路 反彈球 ( 乒乓球 ) 打磚塊 狙擊氣球 ( 兩倍變焦 ) Flappy Bird 走迷宮 ( 基本 ) 大型迷宮 ( 鍵盤控制 ) 大型迷宮 ( 滑鼠控制 ) 翻翻卡 ( 卡牌記憶 ) 九宮格拼圖 音階記憶 貪吃蛇 小雞下樓梯

遊戲設計技巧

角色 ( 地上移動 ) 角色 ( 蹲下、左右轉 ) 角色 ( 跳耀、兩段跳 ) 角色 ( 牆壁、爬牆 ) 地圖 ( 清單轉換 ) 地圖 ( 二維陣列 ) 地圖 ( 控制移動 ) 地圖 ( 牆壁碰撞偵測 ) 地圖 ( 吃東西偵測 )