🐱
Scratch 編程語言中文教學網站 香港編程學院 | Scratch課程
香港編程學院 | Scratch課程

Scratch 編程語言
詳細繁體中文教學網站

Scratch 是一種以圖像積木為核心的程式設計環境,適合初學者透過拖拉積木學習事件、順序、迴圈、條件判斷、變數與互動設計。Scratch 官方也鼓勵使用者從簡單角色動作、動畫、故事與小遊戲開始,再逐步做出更完整的創作。

專業的Scratch繁體中文教學及練習範例網站,提供豐富的Scratch線上教學及自學資源,涵蓋拖拉積木學習事件、順序、迴圈、條件判斷、變數與互動設計,讓你輕鬆掌握Scratch遊戲程式設計!

完整積木類別 積木形狀語意 專案流程教學 除錯技巧 互動小測驗
Start Here

01|Scratch 是什麼?

先理解 Scratch 的定位,再開始學積木,會更容易建立整體概念。

Scratch 的核心特色

  • 用積木拖拉來寫程式,不容易打錯字。
  • 適合做動畫、故事、遊戲、互動問答、角色表演。
  • 可以從角色、背景、聲音與按鍵互動快速做出成果。
  • 作品可從簡單的小練習慢慢擴充成完整專案。

Scratch 官方鼓勵的創作方向

  • Stories 故事
  • Games 遊戲
  • Animations 動畫
  • Starter Projects 初學者範例專案

官方頁面強調「Think Big…But Start Small!」,也就是可以有大目標,但先從小作品開始最有效。[Source](https://scratch.mit.edu/starter-projects)

你可以把 Scratch 想成: 一個讓你一邊玩、一邊設計互動、一邊學會程式思考的創作平台。
Editor

02|介面介紹與舞台座標

Scratch 作品通常由「舞台」「角色」「腳本」三部分共同組成。

Scratch 編輯器基本區塊

  • 舞台: 顯示作品結果的地方。
  • 角色清單: 管理所有角色 Sprite。
  • 積木區: 依顏色分類的積木工具箱。
  • 程式區: 將積木拖到這裡組合程式。
  • 造型 / 音效頁: 編輯角色外觀與聲音。

舞台座標觀念

  • 中央通常是 (0,0)
  • x 越大越往右,x 越小越往左。
  • y 越大越往上,y 越小越往下。
  • 常見範圍約為 x: -240 到 240,y: -180 到 180。
1
先放事件積木
初學最常用的是「當綠旗被點擊」。
2
加入動作與外觀
例如移動、轉向、說話、換造型。
3
加入控制與判斷
讓角色重複執行、在特定條件下做反應。
Learning Path

03|初學者標準學習流程

如果你不知道該從哪裡開始,可以照這個順序學。

第一階段:看得見的結果

  • 當綠旗被點擊
  • 角色說話
  • 角色移動
  • 換背景、換造型

第二階段:加入互動

  • 按鍵控制
  • 碰撞偵測
  • 如果 / 否則
  • 重複與等待

第三階段:做出遊戲邏輯

  • 分數變數
  • 倒數計時
  • 廣播換關
  • 角色合作
建議: 初學不要一開始就做大型 RPG 或平台跳躍遊戲,先做「打招呼動畫、接物遊戲、問答機」這類能快速完成的作品。
Important

04|積木形狀與語意

Scratch 不只要看顏色,還要看積木形狀。不同形狀代表不同程式功能。

帽子積木
事件起點

放在最上面,代表腳本何時開始。

堆疊積木
一般動作

能上下串接,例如移動、說話、等待。

C 型積木
包住其他積木

常見於重複、如果、重複無限次。

回傳值積木
提供資料

像數字、文字、位置、變數數值。

布林積木
真假判斷

常用於如果條件內,例如碰到邊緣?

重點: 初學者最常卡住的地方,是不知道為什麼有些積木不能互相接。其實通常是因為「形狀不匹配」:例如布林積木只能放進需要判斷條件的位置。
Blocks

05|Scratch 積木語法詳解

這裡把各個積木類別拆開解釋,並附上常用場景與範例。

動作 Motion

控制角色移動、方向、位置與滑行。

移動 10 步
右轉 15 度
前往 x:y
滑行到...

常用用途: 角色走路、飛行、追逐、巡邏。

外觀 Looks

控制說話、顯示、隱藏、換造型、圖層與特效。

說出「你好」
顯示
切換造型
改變顏色效果

常用用途: 台詞、動畫、角色變身、畫面切換。

音效 Sound

控制音效播放、節奏與音量。

播放音效
停止所有音效
音量設為

常用用途: 點擊音、過關音、背景音樂。

事件 Events

腳本的起點,也是互動作品的觸發中心。

當綠旗被點擊
當空白鍵被按下
廣播 訊息
當收到 訊息

常用用途: 啟動遊戲、換關、通知其他角色動作。

控制 Control

負責流程控制,是程式邏輯的骨架。

重複 10 次
重複無限次
如果 / 否則
等待 1 秒

常用用途: 動畫循環、敵人 AI、流程判斷、倒數。

偵測 Sensing

取得鍵盤、滑鼠、碰撞、問題回答與位置資訊。

碰到邊緣?
按鍵被按下?
詢問並等待
滑鼠 x

常用用途: 玩家控制、問答互動、碰撞偵測。

運算 Operators

提供數學運算、邏輯比較與文字處理。

+ - × ÷
< = >
且 / 或 / 不成立
連接文字

常用用途: 分數判斷、座標計算、答案比對。

變數與清單 Variables / Lists

紀錄會變動的資料或一組資料集合。

將分數設為 0
分數改變 1
顯示變數
清單新增項目

常用用途: 分數、生命、倒數計時、題庫。

我的積木 My Blocks

自訂常用功能,減少重複積木,讓程式更整潔。

定義 跳躍
定義 攻擊
定義 顯示結束畫面

常用用途: 大型專案、重複流程、角色技能。

常用積木組合

目標 積木組合 用途說明
讓角色走路 當綠旗被點擊 → 重複無限次 → 下一個造型 → 移動 5 步 → 等待 0.15 秒 動畫與移動結合,做出走路效果。
鍵盤控制 重複無限次 → 如果「右鍵被按下?」→ x 改變 6 常用於平台遊戲與接物遊戲。
碰撞加分 如果碰到蘋果? → 分數改變 1 → 前往隨機位置 最常見的得分機制。
答題互動 詢問並等待 → 如果 回答 = 正解 → 說「答對」 適合做測驗、教學互動。
角色同步換場景 廣播「第二關」 → 當收到「第二關」→ 切換背景 / 顯示角色 解決多角色合作問題。
Logic

06|核心程式觀念

這些觀念是從 Scratch 過渡到任何程式語言都會用到的基礎。

1. 順序 Sequence

積木由上往下執行。順序一改,結果可能完全不同。

當綠旗被點擊 說出「開始」 等待 1 秒 移動 50 步 播放音效直到結束

2. 事件 Event

讓程式知道什麼時候開始。

當綠旗被點擊 當空白鍵被按下 當角色被點擊 當收到「開始遊戲」

3. 迴圈 Loop

適合重複執行的動作,例如動畫、巡邏與持續偵測。

重複 10 次 移動 10 步 重複無限次 如果 <碰到邊緣?> 那麼 反彈

4. 條件判斷 If

根據情況做不同反應,是遊戲邏輯的核心。

如果 <分數 > 9> 那麼 廣播「過關」 否則 說出「繼續收集」

5. 變數 Variable

可以儲存數值或文字,並在執行時變動。

當綠旗被點擊 將 [分數] 設為 0 如果 <碰到星星?> 那麼 將 [分數] 改變 1

6. 廣播 Broadcast

讓角色與舞台互相傳遞訊息。

角色A: 廣播「開始第二關」 舞台: 當收到「開始第二關」 切換背景到 [第二關]
Projects

07|範例應用專案

從簡單到中等難度,逐步練會 Scratch 的主要積木。

範例一|會打招呼的角色

學習重點

  • 事件啟動
  • 說話積木
  • 移動與換造型
當綠旗被點擊 說出「大家好,我是 Scratch Cat!」持續 2 秒 移動 40 步 下一個造型 等待 0.2 秒 下一個造型 說出「歡迎來學 Scratch!」持續 2 秒
範例二|接水果得分遊戲

學習重點

  • 鍵盤控制
  • 碰撞偵測
  • 分數變數
籃子: 當綠旗被點擊 重複無限次 如果 <右鍵被按下?> 那麼 x 改變 8 如果 <左鍵被按下?> 那麼 x 改變 -8 水果: 當綠旗被點擊 前往 x:(隨機) y:180 重複無限次 y 改變 -6 如果 <碰到 籃子?> 那麼 將 [分數] 改變 1 前往 x:(隨機) y:180
範例三|問答小測驗機

學習重點

  • 詢問並等待
  • 比較答案
  • 累計分數
當綠旗被點擊 將 [分數] 設為 0 詢問「3 + 4 = ?」並等待 如果 <(回答) = (7)> 那麼 說出「答對了!」持續 2 秒 將 [分數] 改變 1 否則 說出「答錯了」持續 2 秒
範例四|按鍵演奏小鋼琴

學習重點

  • 按鍵事件
  • 音效或音樂積木
  • 互動回饋
當 a 鍵被按下 播放音效 [do] 當 s 鍵被按下 播放音效 [re] 當 d 鍵被按下 播放音效 [mi]
範例五|邊緣反彈球

學習重點

  • 重複無限次
  • 碰到邊緣反彈
  • 顏色效果
當綠旗被點擊 重複無限次 移動 8 步 如果 <碰到邊緣?> 那麼 反彈 改變 [顏色] 效果 25
範例六|換場景故事動畫

學習重點

  • 廣播訊息
  • 角色合作
  • 舞台切換
角色A: 當綠旗被點擊 說出「我們出發吧!」持續 2 秒 廣播「場景二」 舞台: 當收到「場景二」 切換背景到 [森林] 角色B: 當收到「場景二」 顯示 說出「歡迎來到森林!」持續 2 秒
Debug

08|初學者常見錯誤與除錯技巧

程式寫不出來很正常,重點是知道怎麼找問題。

1. 沒有反應?先檢查最上面有沒有事件積木。
很多初學者把積木排好了,但忘記放「當綠旗被點擊」或其他事件。
2. 角色不動?檢查是不是放錯角色。
Scratch 每個角色都有自己的程式,請確認你是在正確角色上編寫。
3. 如果判斷沒生效?確認條件積木是不是放對位置。
例如「碰到邊緣?」必須放進 if 的條件區。
4. 分數不對?檢查是否忘了在開始時把變數設回 0。
5. 動作太快看不到?加入等待 0.1 秒到 0.3 秒。
這樣比較容易看到執行過程,也方便除錯。
6. 多角色不同步?使用廣播來協調。
比起用很多等待,有時廣播更清楚、更穩定。
Challenge

09|挑戰任務

試著自己完成,不看答案也沒關係,先做出版本再慢慢修正。

挑戰 A|走路動畫角色

  • 按下綠旗後走 10 次
  • 每次前進 10 步
  • 每次切換一次造型

挑戰 B|追逐滑鼠角色

  • 角色朝向滑鼠
  • 持續移動追逐
  • 碰到滑鼠附近時說「抓到了」

挑戰 C|三題問答機

  • 連續問 3 題
  • 每題答對加 1 分
  • 最後顯示總分

挑戰 D|簡單賽車遊戲

  • 用左右鍵控制方向
  • 碰到牆壁就停下或扣分
  • 到達終點顯示過關
Quiz

10|Scratch 小測驗

做完後會立即顯示成績與解析。

作答說明: 共 10 題單選。
建議先讀完上面的教學再作答。
FAQ

11|常見問題

Scratch 算真正的程式設計嗎?

算。它只是把文字語法改成積木形式,但底層學到的仍是事件、迴圈、條件、變數、流程控制與資料邏輯。

學完 Scratch 後適合接什麼語言?

通常可往 Python 或 JavaScript 前進,因為這兩種語言都很適合初學者,且能延續你在 Scratch 學到的邏輯基礎。

為什麼有些積木不能接起來?

因為 Scratch 積木有不同形狀。像布林積木通常只能放進條件位置;帽子積木只能放在最上面。

什麼時候該用廣播,而不是一直用等待?

當你要控制多個角色同步進行、換場景、進入下一關時,廣播通常比單純等待更清楚、更容易維護。

References

12|參考資料與延伸學習

本頁整理時參考了 Scratch 官方的初學資源與入門方向。

下一步建議: 先照本頁完成 2 到 3 個小作品,再開始自己設計題目、角色與規則。真正的進步,往往來自「改造自己的作品」而不是只看教學。