← 所有教學
第 3 篇教學

做出你的第一個模擬器

點擊水晶來獲得力量,把力量賣成金幣,再買升級,讓每一次點擊都更強。

免費50 分鐘 · 初學者 · Roblox Studio
1
步驟 1 / 8

設定場景

  1. 打開 Roblox Studio,點 New Experience,然後選 Baseplate 範本。
  2. 你會在地板上做三樣東西:一顆可以點的水晶、一個賣東西的踏板,和一個買升級的踏板。
  3. 它們之間留大約 20 studs 的距離,讓玩家需要走一走。

更多細節

  • Baseplate 範本在開始畫面的範本清單裡。
  • Properties 裡的 Position 欄位會顯示零件在哪裡。如果兩個零件的第一個數字相差 20,它們就相距 20 studs。
  • 把這三樣東西放在離 SpawnLocation 近的地方,SpawnLocation 就是玩家出現的那塊平台。
  • 在 Mac 上,每當教學說 Ctrl 的時候,都改用 Cmd 鍵。
小提示. 先在紙上畫出配置。如果點擊、賣出和升級之間走起來很近,模擬器玩起來就會很順。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

2
步驟 2 / 8

建立玩家的數值

  1. 把滑鼠移到 ServerScriptService 上,點 +,新增一個 Script。把它命名為 Stats。
  2. 刪掉原本就有的那一行,貼上這段程式碼。
  3. 按 Play。玩家列表會顯示 Power 0 和 Coins 0。
ServerScriptService > Stats
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	for _, name in ipairs({"Power", "Coins"}) do
		local value = Instance.new("IntValue")
		value.Name = name
		value.Parent = stats
	end

	local multiplier = Instance.new("IntValue")
	multiplier.Name = "Multiplier"
	multiplier.Value = 1
	multiplier.Parent = player
end)

每一段在做什麼

  • 這個迴圈用同一段程式碼建立兩個值:Power 和 Coins。
  • Multiplier 是一次點擊給多少力量。它一開始是 1。
  • Multiplier 放在玩家身上,不在 leaderstats 裡,所以玩家列表上看不到它。

更多細節

  • 點 + 之後,輸入 Script 這個字可以很快找到它。
  • 腳本會在新的分頁裡打開。點一下程式碼裡面,按 Ctrl+A,再按 Ctrl+V,取代所有內容。
  • 在 Explorer 裡用 F2 替腳本改名。這個名稱只是給你自己看的,可以幫你之後找到這個腳本。
  • 玩家列表在遊戲的右上角。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

3
步驟 3 / 8

做出水晶

  1. 新增一個 Part。把 Size 設成 6, 8, 6,打開 Anchored,並命名為 Crystal。選一個亮亮的顏色,並把 Material 設成 Neon。
  2. 把滑鼠移到 Crystal 上,點 +,新增一個 ClickDetector。
  3. 在 Crystal 上新增一個 Script,貼上這段程式碼。
  4. 按 Play,然後點水晶。每點一下,Power 就增加 1。
Crystal > Script
local crystal = script.Parent
local clickDetector = crystal.ClickDetector

clickDetector.MouseClick:Connect(function(player)
	local power = player.leaderstats.Power
	power.Value += player.Multiplier.Value
end)

每一段在做什麼

  • ClickDetector 讓 Part 可以被點擊。用手機點觸控也行。
  • MouseClick 會告訴腳本是哪位玩家點的。
  • 腳本會把玩家的 Multiplier 加到 Power 上,所以升級會讓每一次點擊更強。

更多細節

  • 在 Properties 的 Size 欄位輸入大小,按 Enter。然後用 Move 工具把水晶抬起來,直到它站在地板上。
  • 點 + 之後,輸入 ClickDetector 就能找到它。在 Explorer 裡,它必須往右縮排一格,放在 Crystal 下面。
  • 在遊戲裡,滑鼠游標移到水晶上時會變成一隻手。
  • 你必須站得夠近。ClickDetector 只在 32 studs 或更近的距離內有效。
常見的錯誤. 點了沒反應:ClickDetector 一定要直接放在 Crystal 裡面,和腳本在同一層。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

4
步驟 4 / 8

加上賣出踏板

  1. 在地板上新增一個 Part。把 Size 設成 8, 1, 8,打開 Anchored,把它變成黃色,並命名為 Sell。
  2. 在 Sell 上新增一個 Script,貼上這段程式碼。
  3. 按 Play,點水晶幾次,然後走上踏板。Power 就會變成 Coins。
Sell > Script
local Players = game:GetService("Players")
local pad = script.Parent

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player then return end

	local stats = player.leaderstats
	if stats.Power.Value > 0 then
		stats.Coins.Value += stats.Power.Value
		stats.Power.Value = 0
	end
end)

每一段在做什麼

  • GetPlayerFromCharacter 會找出是哪位玩家踩上了踏板。
  • 踏板會把玩家所有的 Power 加到 Coins 上,然後把 Power 設回 0。

更多細節

  • 踏板是一塊玩家可以走上去的平坦零件。
  • 把踏板平放在地板上。如果它太高,玩家就走不上去。
  • 帶著 0 點力量走上踏板,什麼事也不會發生。這是對的。
  • 測試一下:點水晶 10 次,走上踏板,玩家列表就會顯示 Power 0 和 Coins 10。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

5
步驟 5 / 8

加上升級踏板

  1. 在地板上再新增一個 Part。把 Size 設成 8, 1, 8,打開 Anchored,把它變成藍色,並命名為 Upgrade。
  2. 在 Upgrade 上新增一個 Script,貼上這段程式碼。
  3. 按 Play,賺到 25 個金幣,然後踩上踏板。現在每點一下就會得到 2 點力量。
Upgrade > Script
local Players = game:GetService("Players")
local pad = script.Parent
local waiting = {}

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player or waiting[player] then return end

	local price = player.Multiplier.Value * 25
	local coins = player.leaderstats.Coins
	if coins.Value < price then return end

	waiting[player] = true
	coins.Value -= price
	player.Multiplier.Value += 1

	task.wait(1)
	waiting[player] = nil
end)

每一段在做什麼

  • 價格是玩家的 Multiplier 乘以 25,所以每次升級都比上一次貴。
  • waiting 表可以避免玩家在踏板上站很久,就一次買到很多個升級。
  • 購買之後,Multiplier 會增加 1。

更多細節

  • 把這個踏板放在離出售踏板幾步遠的地方,這樣玩家就不會不小心買到東西。
  • 第一次升級要 25 金幣。買完之後,Coins 會減少 25,點一下就能得到 2 點力量。
  • 如果金幣比價格少,踏板什麼也不會做。走下來,多賺一些再回來。
  • 有 1 秒的停頓,所以站在踏板上不動,一次也只會買一個升級。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

6
步驟 6 / 8

幫踏板加上標籤

  1. 把滑鼠移到 Sell 上,點 +,新增一個 BillboardGui。把它的 Size 設成 {0, 200}, {0, 50},StudsOffset 設成 0, 4, 0。
  2. 在 BillboardGui 裡新增一個 TextLabel。把它的 Size 設成 {1, 0}, {1, 0},打開 TextScaled,並輸入這段文字:SELL
  3. 對 Upgrade 做同樣的事,文字是:UPGRADE
  4. 對 Crystal 也做同樣的事,文字是:CLICK ME。這裡的 StudsOffset 用 0, 7, 0,讓標籤飄在水晶上方。

更多細節

  • 對於 Size 和 StudsOffset,在 Properties 裡點這個欄位,完全照著給的樣子輸入數字,括號和逗號都要有,然後按 Enter。
  • Text 是 TextLabel 的一個屬性。點 Text 欄位,輸入文字,然後按 Enter。
  • 更快的辦法:在 Explorer 裡點做好的 BillboardGui,按 Ctrl+C,再點下一個零件,按 Ctrl+Shift+V。然後只改文字。
  • 有了這些標籤,新玩家不用任何說明就能看懂這款遊戲。
小提示. BillboardGui 一定會轉向面對鏡頭,所以玩家從任何一邊都能讀到它。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

7
步驟 7 / 8

測試整個流程

  1. 按 F5。點擊、賣出、升級,然後再來一遍。
  2. 檢查升級的價格有沒有越來越高:25 個金幣,然後 50,再來 75。
  3. 按 Shift+F5 停止。如果哪裡出錯,從 Window 選單打開 Output 視窗,看看紅色的字。

更多細節

  • 數一數你點了幾次。Multiplier 是 1 的時候,點十次會得到 10 點力量。
  • 第一次升級之後,點十次會得到 20 點力量,第二次升級之後會得到 30 點。
  • 遊戲執行時做的修改,停止後就會消失。先按 Shift+F5,再去修改。
  • 在 Output 視窗裡點一下紅色的那一行,Studio 就會打開腳本,並跳到出錯的那一行。
常見的錯誤. 踏板沒讓你買到東西:你需要至少 25 個 Coins,而不是 25 點 Power。先賣出去。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

8
步驟 8 / 8

發布遊戲

  1. 選擇 File → Publish to Roblox。幫遊戲取個名字,再寫一小段說明。
  2. 在 Creator Hub 網站打開你的遊戲,填寫 Maturity 問卷。
  3. 把遊戲設成 Public,然後把連結傳給朋友。

更多細節

  • 第一次發布時,Studio 會問你要一個名稱和一段說明。點 Create。
  • Creator Hub 就是網站 create.roblox.com。用同一個帳號登入,然後在清單裡點你的遊戲。
  • 遊戲公開之前,Roblox 可能還會要求更多資料,例如對帳號做年齡驗證。頁面會告訴你還缺什麼。
  • 如果你未滿 18 歲,請和爸媽一起完成這一步。
小提示. 進度還沒有儲存。玩家一離開,金幣就不見了。儲存資料是進階課程的內容。
這一步我做不出來

先檢查這三件事

  • 每個零件和腳本的名字都要和教學裡的完全一樣,大小寫也要一樣。
  • 腳本要放在正確的物件裡面。看看程式碼框上方的標籤。
  • 從 Window 選單打開 Output 視窗。紅色的字會告訴你哪個腳本、哪一行有問題。

還是不行嗎?寫信給我們 →

現在自己改改看

  • 加上第二顆水晶,每點一下給 5 點力量,但是放在很遠的地方。
  • 讓升級的價格每次都變成兩倍。提示:25 * 2 ^ (player.Multiplier.Value - 1)
  • 讓水晶每點一下就變大一點。提示:改 crystal.Size