儀表板系統閱讀所有位於 leaderstats
資料夾的值,並將之顯示出來
要增加一個狀態用以追蹤玩家的分數,建立一個新的 IntValue 將它的上層設定為 leaderstats
資料夾,該數值物件的名稱將會顯示在值的旁邊
Instance.new
來建立一個變數,取名為 points
用以建立一個新的 IntValue 物件"Points"
的 Name
屬性為 “Points”
"Points"
的 Value
屬性為 0 ; 這將會是玩家的初始分數points
的上一層物件為 leaderstats
資料夾-- SetupPoints.lua
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local points = Instance.new("IntValue") --建立一個新的整數物件
points.Name = "Points" --要顯示的標籤文字
points.Value = 0 --該標籤的數值
points.Parent = leaderstats --設定上層物件為 leaderstats
end
Players.PlayerAdded:Connect(onPlayerAdded)
測試你的遊戲之後你應該能夠看到儀表板出現在右上角,上面寫著玩家的名稱連同分數值
每個玩家會在存活時每秒得到一分。使用一個 while 迴圈搭配 wait
函式能用來每一秒更新一次分數的值
true
-- SetupPoints.lua
Players.PlayerAdded:Connect(onPlayerAdded)
while true do --無窮迴圈
wait(1) --等一秒鐘
end
要在參與的所有玩家之間去運行程式,你將需要先透過 GetPlayers
函式來取得玩家陣列,接著再逐個進行遞迴
所謂陣列是有序的清單,可用來儲存多筆資料。每個裡頭的資料可透過它的索引值(可以理解成資料所在的位置,排第幾個),從 1 開始計算。如果要得知陣列的長度(可以理解成陣列內有幾筆資料),可在陣列前面加上 #