Menu
CoddyTech

状态面板

Coddy Roblox 游戏:灾难生存 课程的第 2 课,共 20 课。

大厅里的玩家需要知道接下来会发生什么。那里那块大而深色的部分 workspace.StatusBoard 会显示相关信息。

部件上的文字由 SurfaceGui 承载,其中可以放置 TextLabel 等 GUI 对象。部件内的 SurfaceGui 会绘制在其中一个面上,默认是 Front 面,除非你更改它的 Face。这块牌子已经转过方向,让它的 Front 面朝向大厅。

local gui = Instance.new("SurfaceGui")
gui.Parent = workspace.StatusBoard

local status = Instance.new("TextLabel")
status.Size = UDim2.fromScale(0.5, 1)
status.Text = "Hello!"
status.TextScaled = true
status.Parent = gui

GUI 的大小由 UDim2 表示:每个轴上都是父对象尺寸的一部分(Scale)加上像素数(Offset)。UDim2.fromScale(0.5, 1) 表示父对象宽度的一半和全部高度;UDim2.fromScale(1, 1) 则会覆盖整块牌子。TextScaled 会让文字尽可能放大。

challenge icon

挑战

简单

在大厅的状态板上显示欢迎消息。

  1. 在 PlayerAdded 代码下方,创建一个 SurfaceGui,并将它设为 workspace.StatusBoard 的父级。
  2. 在其中创建 local status = Instance.new("TextLabel"),将其命名为 Status,并将大小设为 UDim2.fromScale(1, 1)。
  3. 将文字设为白色,使用 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)

-- 第 2 课:在这里添加状态板

Roblox 游戏:灾难生存中的所有课

自己练习: Roblox 在线编辑器