ステータスボード
Coddyの「Robloxゲーム:災害サバイバル」コースのレッスン 2/18。
ロビーにいるプレイヤーは、次に何が起こるかを知る必要があります。そこにある大きな暗い部分、workspace.StatusBoardに表示します。
パーツ上のテキストは、TextLabelなどのGUIオブジェクトを含むSurfaceGuiです。パーツ内のSurfaceGuiは、面の1つに描画します。Faceを変更しない限り、Front面に描画します。ボードは、Front面がロビーを向くように回転されています。
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 = guiGUIのサイズはUDim2です。各軸について、親要素に対する割合(Scale)とピクセル数(Offset)を指定します。UDim2.fromScale(1, 1)は親要素全体を表すため、ラベルはボード全体を覆います。TextScaledは、収まる最大サイズにテキストを拡大します。
チャレンジ
簡単PlayerAddedのコードの下に、ボードにステータスラベルを配置しましょう:
workspace.StatusBoardを親とするSurfaceGui。- その中に
Statusという名前のTextLabelを配置し、ボードと同じサイズにします(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)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。