לוח המצב
שיעור 2 מתוך 18 בקורס משחק Roblox: הישרדות באסונות של Coddy.
השחקנים בלובי צריכים לדעת מה קורה בהמשך. החלק הכהה והגדול שם, workspace.StatusBoard, יציג זאת.
טקסט על חלק הוא SurfaceGui שמכיל אובייקטים של GUI, כגון TextLabel. SurfaceGui בתוך חלק מצייר על אחד הצדדים שלו, על הצד הקדמי אלא אם משנים את Face שלו. הלוח סובב כך שהצד הקדמי שלו פונה אל הלובי.
local gui = Instance.new("SurfaceGui")
gui.Parent = workspace.Sign
local label = Instance.new("TextLabel")
label.Size = UDim2.fromScale(1, 1)
label.Text = "Hello!"
label.TextScaled = true
label.Parent = guiגודל של GUI הוא UDim2: שבר מההורה (Scale) בתוספת פיקסלים (Offset) בכל ציר. UDim2.fromScale(1, 1) הוא ההורה כולו, ולכן התווית מכסה את הלוח. TextScaled גורם לטקסט להיות גדול ככל האפשר בלי לחרוג מהשטח.
אתגר
קלמתחת לקוד של PlayerAdded, הצב תווית סטטוס על הלוח:
- SurfaceGui שההורה שלו הוא
workspace.StatusBoard. - TextLabel בשם
Statusבתוכו, בגודל הלוח (UDim2.fromScale(1, 1)). - רקע כהה (
Color3.fromRGB(25, 25, 35)), טקסט לבן (Color3.fromRGB(255, 255, 255)) עםTextScaledמופעל, ובו כתובWelcome to Disaster Survival!
לחץ על הפעלה והסתכל על הלוח, ואז לחץ על בדיקה.
נסו בעצמכם
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
print("Rounds last " .. Settings.RoundLength .. " seconds")
-- כל שחקן מקבל Wins בטבלת המובילים
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local wins = Instance.new("IntValue")
wins.Name = "Wins"
wins.Parent = leaderstats
end)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.