Scratch 雲端變數完整教學:帶孩子做出第一個多人互動遊戲
如果你家的孩子已經在 Scratch 上做過幾個小遊戲,你們可能會開始好奇:「能不能讓不同電腦上的玩家一起玩?」答案是可以的!Scratch 提供了一個叫做「雲端變數(Cloud Variables)」的功能,讓你的遊戲資料能夠儲存在網路上,所有玩家都能看到和共享這份資料。這篇文章就要帶著大家一步一步學習雲端變數,並且做出第一個多人互動功能——全球最高分排行榜!
在開始之前,如果你還沒試過用 Scratch 做遊戲,可以先看看我們的 Scratch 接球遊戲教學,熟悉基本操作再來學這篇進階內容會更順利喔!
什麼是雲端變數?
在 Scratch 裡,普通的「變數」就像一個小盒子,裝著數字或文字,只存在你自己的電腦上。當你關掉瀏覽器,那個數字就消失了;別人玩你的遊戲時,也看不到你的變數。
「雲端變數」則不一樣。它把資料存在 Scratch 的伺服器上,就像把小盒子放到網路的雲端裡。這樣一來:
- 全世界玩你遊戲的人都能看到同一份資料
- 資料不會因為關閉瀏覽器而消失
- 可以用來做排行榜、多人計分、簡單的互動功能
聽起來很神奇對不對?但在使用之前,有一些重要的條件和限制需要先了解清楚。
使用雲端變數的基本要求
必須是「Scratcher」會員
這是最重要的一點!Scratch 把用戶分成兩種:
- 新 Scratcher(New Scratcher):剛加入的新會員,功能有限制
- Scratcher:活躍了一段時間、分享過作品的正式會員
只有升級為「Scratcher」之後,才能使用雲端變數功能。那怎麼升級呢?Scratch 的官方說法是:持續在平台上創作和分享作品,通常活躍幾週後系統就會自動升級你的帳號。所以如果你還是新 Scratcher,最好的方法就是先繼續做更多有趣的作品!
你需要分享作品才能測試
雲端變數只在已分享(shared)的作品上才能真正運作。在編輯器裡測試時,雲端變數會顯示一個小小的雲端圖示,但資料不會真的同步到伺服器。記得分享你的作品,才能看到雲端功能真正發揮效果!
雲端變數的限制(非常重要!)
在開始做作品之前,一定要知道這幾個限制:
- 只能存數字,不能存文字:雲端變數只接受數字,不接受英文字母、中文或符號。想要存玩家名稱?對不起,辦不到!
- 每個作品最多只能有 10 個雲端變數:超過就不行了,要善加利用。
- 數字範圍有限制:數字必須在 -1e300 到 1e300 之間(也就是說,極端大的數字也不行)。
- 更新速度有延遲:雲端變數不是即時同步的,大約每幾秒才更新一次,所以不適合做需要超快反應的即時動作遊戲。
- 不能用來建立聊天室:Scratch 明確禁止用雲端變數建立文字聊天功能,因為這可能有兒童安全疑慮。如果你的作品被發現有聊天功能,Scratch 可能會取消分享。
了解這些限制後,我們就來開始做真正的東西吧!
實作一:製作全球最高分排行榜
最簡單、最實用的雲端變數用途就是「全球最高分排行榜」。我們以接球遊戲為例,讓全世界的玩家都可以看到誰的分數最高!
步驟一:建立雲端變數
- 打開你的 Scratch 作品,點選左側「變數」類別
- 點選「建立一個變數」
- 輸入變數名稱,例如:
最高分 - 勾選「☁ 雲端變數(儲存在伺服器)」那個選項
- 點選確定
你會發現變數名稱旁邊出現了一個小雲朵圖示 ☁,這就代表它是雲端變數了!
步驟二:設定計分邏輯
在你的遊戲角色(例如玩家)身上加入以下積木邏輯(用文字描述):
在遊戲開始時:
- 使用「將【我的分數】設為 0」積木,把本次遊戲分數歸零
在遊戲進行中,每接到一顆球:
- 使用「將【我的分數】增加 1」積木
- 使用「如果【我的分數】大於【最高分】那麼」積木包住以下動作:
- 「將【☁ 最高分】設為【我的分數】」——這樣就更新了全球最高分!
步驟三:顯示排行榜
在舞台上放一個文字說明,讓玩家看到目前的全球最高分:
- 把「☁ 最高分」這個變數的顯示開關打開(在變數旁打勾),它就會顯示在舞台上
- 或者用「說出【連接(全球最高分:)和(☁ 最高分)】」的方式,讓角色說出最高分
分享作品之後,當任何玩家破了最高分,那個數字就會同步更新,全世界的玩家都能看到!是不是很有成就感?
實作二:簡單的兩人對戰——誰按得比較快?
學完了排行榜,我們來挑戰稍微複雜一點的:讓兩個人在不同電腦上「比賽按按鈕」,看誰按得快!
設計思路
我們需要兩個雲端變數:
☁ 玩家一分數:存玩家一的點擊次數☁ 玩家二分數:存玩家二的點擊次數
每個玩家在自己的角色上按下空白鍵或點擊,就增加自己的分數。10 秒後,分數高的人獲勝。
步驟一:建立兩個雲端變數
照上面的方法,建立「☁ 玩家一分數」和「☁ 玩家二分數」兩個雲端變數。
步驟二:設定玩家一的邏輯
新增一個角色(例如一個按鈕),加入以下邏輯:
- 「當 ▶ 被點擊」時:「將【☁ 玩家一分數】設為 0」
- 「當此角色被點擊」時:「將【☁ 玩家一分數】增加 1」
步驟三:設定玩家二的邏輯
新增另一個角色給玩家二,邏輯相同但改用「☁ 玩家二分數」:
- 「當 ▶ 被點擊」時:「將【☁ 玩家二分數】設為 0」
- 「當此角色被點擊」時:「將【☁ 玩家二分數】增加 1」
步驟四:計時和判斷勝負
在舞台的程式裡加入計時器邏輯:
- 「當 ▶ 被點擊」:「將計時器重設」、「等待 10 秒」
- 然後用「如果【☁ 玩家一分數】大於【☁ 玩家二分數】那麼」判斷誰贏
- 分別廣播「玩家一獲勝」或「玩家二獲勝」的訊息,讓角色做出慶祝動作
這樣就完成了一個超簡單的雙人對戰遊戲!想要做更複雜的遊戲,可以參考我們的 Scratch 迷宮遊戲教學,學習更多進階技巧之後再回來挑戰。
除錯技巧:雲端變數為什麼沒有動?
很多同學在第一次使用雲端變數時會遇到「數字不更新」的問題,以下是常見原因和解決方法:
- 你還是新 Scratcher:雲端變數只有 Scratcher 才能用。確認你的帳號狀態。
- 作品還沒分享:在編輯器裡雲端變數不會真正同步,記得先分享作品。
- 數字沒有更新:試著重新整理頁面(F5),有時候需要幾秒鐘才能看到最新資料。
- 變數設成了文字:確認你的變數值是純數字,沒有混入文字。
- 超過 10 個雲端變數:數一數你的雲端變數有沒有超過上限。
- Scratch 伺服器繁忙:有時候是 Scratch 的伺服器暫時比較慢,等一下再試試看。
隱私與安全注意事項
使用雲端變數時,有幾件關於安全的事情要特別告訴孩子:
雲端資料是公開的
雲端變數上的資料任何人都可以看到,所以絕對不要用雲端變數來儲存個人資訊,例如姓名、電話、地址或任何私密內容。記得:雲端變數只能存數字,本來就沒辦法存這些,這其實也是一種保護設計。
聊天室功能是被禁止的
Scratch 明確規定,不能用雲端變數建立聊天室或任何形式的文字交流系統。即使有辦法把文字轉成數字,Scratch 也不允許這樣做。這個規定是為了保護小朋友的安全,讓 Scratch 成為一個友善、安全的創作環境。如果你的作品違反這個規定,可能會被 Scratch 管理員取消分享,甚至影響帳號。
合理使用資源
不要在程式裡讓雲端變數每一毫秒都更新一次,這樣會對 Scratch 的伺服器造成很大的負擔,你的作品也可能因此被限制。設計時要讓更新頻率合理,例如「分數改變時才更新」而不是「每一幀都更新」。
接下來可以做什麼?
學會了雲端變數,你的 Scratch 技能又更上一層樓了!這個功能可以讓你做出很多有趣的東西:
- 各種遊戲的全球排行榜
- 投票系統(用數字代表不同選項)
- 多人計數器(一起數某件事發生了幾次)
- 簡單的輪流制遊戲
如果你想要挑戰更大的專案,可以試試看 Scratch RPG 冒險遊戲教學,把角色扮演遊戲的元素加進來,讓遊戲世界更豐富!
當你覺得 Scratch 已經玩得很熟練,開始想學真正的程式語言時,可以看看 Scratch 學完之後學 Python,Python 是一個非常適合下一步學習的程式語言,很多大人在工作上也在用呢!
總結
今天我們學習了 Scratch 雲端變數的完整教學:
- 雲端變數讓資料存在網路上,所有玩家都能共享
- 必須是 Scratcher 會員才能使用
- 只能儲存數字,每個專案最多 10 個
- 實作了全球最高分排行榜
- 做了一個簡單的兩人對戰遊戲
- 了解了除錯技巧和安全注意事項
雲端變數是 Scratch 裡很特別的功能,能夠讓你的遊戲跨越電腦的限制,和全世界的玩家產生連結。只要遵守規則、善加利用,你就能做出讓朋友和家人都覺得很厲害的作品!加油,繼續創作吧!
繼續閱讀
Scratch 物理模擬遊戲教學:用積木做出重力、彈跳和碰撞偵測
相關文章
你可能也喜歡
探索其他領域的精選好文