لوحة الحالة
الدرس 2 من 18 في دورة لعبة Roblox: النجاة من الكوارث على Coddy.
يحتاج اللاعبون في الردهة إلى معرفة ما سيحدث بعد ذلك. سيعرض الجزء الكبير الداكن هناك، workspace.StatusBoard، ذلك.
النص على جزء هو SurfaceGui يحتوي على عناصر واجهة المستخدم الرسومية مثل 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حجم واجهة المستخدم الرسومية هو 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!
اضغط على Play وانظر إلى اللوحة، ثم اضغط على Check.
جرّب بنفسك
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)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.