搜尋

事件積木 ( Events Blocks )

事件積木 Events blocks 可以讓 Scratch 在使用者做了某些動作時,例如用滑鼠點擊角色、按下鍵盤的按鍵,透過積木邏輯的組合,針對這些使用者的「事件」做出回應,事件積木在每個 Scratch 專案中都是必須存在的,因為如果沒有事件積木,所有行為都只能透過手動點擊積木去執行。

事件積木有幾個分類:點擊綠旗 / 角色按下鍵盤背景更換聲音響度&計時器廣播訊息

點擊綠旗 / 角色

舞台區的左上方有一個綠旗和一個紅色八角形按鈕,許多程式在執行時,都會從點擊舞台區左上方的綠旗開始,若要停止就會點擊紅色八角形按鈕,「點擊綠旗積木」表示當使用者點擊綠旗按鈕,就會執行下方程式積木,「點擊角色積木」表示使用者點擊角色,就會執行下方程式積木。

Scratch 教學 - 事件積木 Events blocks

舉例來說,搭配「重複無限次積木」,讓點擊綠旗時讓角色不斷變換顏色,當點擊角色時停止變色,並將顏色恢復成原本的顏色。

Scratch 教學 - 事件積木 Events blocks

按下鍵盤

「按下鍵盤積木」表示當使用者按下鍵盤的某個按鍵,就會執行下方程式積木。

Scratch 教學 - 事件積木 Events blocks - 按下鍵盤

舉例來說,搭配「X / Y 改變積木」,就可以用鍵盤的上下左右,控制角色在舞台中的移動。

Scratch 教學 - 事件積木 Events blocks - 按下鍵盤

背景更換

「背景更換積木」表示當更換背景時,就會執行下方程式積木。

Scratch 教學 - 事件積木 Events blocks - 背景更換

舉例來說,搭配「點擊角色積木」和「說積木」,點擊角色時就會更換背景,同時講出不同的文字。

Scratch 教學 - 事件積木 Events blocks - 背景更換

聲音響度&計時器

「聲音響度&計時器積木」的下拉選單選擇「聲音響度」,表示當「麥克風的音量」大於某個數值,就會執行下方的程式積木,而下拉選單選擇「計時器」表示當 Scratch 內建計時器過了多久,就會執行下方程式。

因為需要用到電腦的麥克風,所以使用這塊積木時,會要求瀏覽器允許麥克風的權限

Scratch 教學 - 事件積木 Events blocks - 聲音響度&計時器

舉例來說,搭配「計時器積木」,點擊綠旗按鈕開始計時,當計時器超過三秒時,角色就會變大。

Scratch 教學 - 事件積木 Events blocks - 聲音響度&計時器

廣播訊息

「廣播訊息積木」主要用於不同角色之間的互動,可由某個角色廣播訊息,再由其他角色接收訊息,當接收到訊息時執行對應的程式積木,積木有三種類型:

  • 當收到訊息:收到廣播訊息時,要執行哪些程式積木。
  • 廣播訊息:發送出廣播訊息。
  • 廣播訊息並等待:發送出廣播訊息,當收到訊息的角色的程式都執行完成後,才會接續進行後方程式

Scratch 教學 - 事件積木 Events blocks - 廣播訊息

建立新的廣播訊息只要從下拉選單中點選「新的訊息」,在彈出的對話框裡輸入新訊息的名稱,按下確定就能建立。

發送廣播訊息可以透過下拉選單新增訊息,新增後的訊息無法刪除,如果需要刪除,只要程式中「不要」使用這個訊息,重新整理網頁或是重新開啟 Scratch,這個廣播訊息就會消失。

Scratch 教學 - 事件積木 Events blocks - 新的訊息

舉例來說,先針對「貓咪」角色撰寫程式,第一組程式設定當角色被點擊時,發送名為 cat 的廣播訊息,並顯示「我發送訊息囉」的文字持續兩秒。第二組程式設定收到名為 message1 的廣播訊息,收到之後顯示「收到囉」的文字持續兩秒。

Scratch 教學 - 事件積木 Events blocks - 廣播訊息持續幾秒

先額外新增一個龍蝦角色 ( 參考:Scratch 3 角色設定 ),放入和貓咪類似的程式積木,第一組程式設定當角色被點擊時,發送名為 message1 的廣播訊息,並顯示「我發送訊息囉」的文字持續兩秒。第二組程式設定收到名為 cat 的廣播訊息,收到之後顯示「收到囉」的文字持續兩秒。( 注意,訊息名稱剛好與貓咪相反 )

Scratch 教學 - 事件積木 Events blocks - 發送廣播訊息

完成後用滑鼠點擊角色,就會看見貓咪發送廣播訊息,由龍蝦接收廣播訊息的效果。

範例連結:廣播訊息 ( 無等待 )

Scratch 教學 - 事件積木 Events blocks - 接收廣播訊息

如果將發送訊息的積木,改成「廣播訊息並等待」,表示發送出廣播訊息,當收到訊息的角色的程式都執行完成後,才會接續進行後方程式

Scratch 教學 - 事件積木 Events blocks - 廣播訊息並等待

完成後用滑鼠點擊角色,就會看見貓咪發送廣播訊息,龍蝦顯示文字結束後,貓咪才會接續顯示文字。

Scratch 教學 - 事件積木 Events blocks - 廣播訊息並等待

意見回饋

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

Scratch 教學

基本介紹

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

圖形與聲音

繪製造型&背景 編輯音效

程式積木

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

擴充功能

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

技巧&觀念

全域變數、區域變數 深入理解區域變數 控制指定分身 控制所有分身的方法 雲端變數 雲端變數記錄文字 變數串接文字 判斷英文字母大小寫 中斷與停止程式 廣播訊息並等待 鍵盤與滑鼠 滑鼠點擊與長按 點擊隱藏的角色 突破角色尺寸限制 角色與舞台邊界 重複積木的等待時間 音樂暫停與繼續播放 使用造型名稱建立清單 使用造型代替變數 文字轉清單 清單合併為文字 判斷兩個清單是否相同 複製清單、反轉清單 清單數字排序 清單最大值最小值

入門範例

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

進階範例

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

視覺特效範例

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

繪圖範例

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

物理&模擬範例

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

入門遊戲範例

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

進階遊戲範例

青蛙過河 青蛙過馬路 反彈球 ( 乒乓球 ) 打磚塊 狙擊氣球 ( 兩倍變焦 ) Flappy Bird Flappy Bird ( 聲控版 ) 走迷宮 ( 基本 ) 大型迷宮 ( 鍵盤控制 ) 大型迷宮 ( 滑鼠控制 ) 翻卡記憶遊戲 翻卡記憶遊戲 ( 改良版 ) 井字棋 ( 圈圈叉叉 ) 九宮格拼圖 九宮格拼圖 ( 改良版 ) 音階記憶 貪吃蛇 ( 分身版 ) 貪吃蛇 ( 畫筆版 ) 小雞下樓梯 拉霸機

團康遊戲範例

搖骰子 ( 1~3 個 ) 比手畫腳 ( 猜動物 ) 音樂傳球遊戲 大聲公 ( 比賽誰的氣長 ) 抽籤 ( 可調整中籤數量 ) 轉盤指針 ( 指到誰就當鬼 ) 倒數計時器 ( 基本版 ) 倒數計時器 ( 大數字版 )

遊戲設計技巧

角色 ( 地上移動 ) 角色 ( 蹲下、左右轉 ) 角色 ( 跳耀、兩段跳 ) 角色 ( 牆壁、爬牆 ) 地圖 ( 清單轉換 ) 地圖 ( 二維陣列 ) 地圖 ( 控制移動 ) 地圖 ( 牆壁碰撞偵測 ) 地圖 ( 吃東西偵測 ) 俄羅斯方塊 ( 角色與背景 ) 俄羅斯方塊 ( 移動與碰撞 ) 俄羅斯方塊 ( 放置方塊 ) 俄羅斯方塊 ( 消除完成方塊 ) 俄羅斯方塊 ( 下個形狀 )