Табло состояния
Урок 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!
Нажми 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)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.