状态面板
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 = guiGUI 的大小由 UDim2 表示:每个轴上都是父对象尺寸的一部分(Scale)加上像素数(Offset)。UDim2.fromScale(0.5, 1) 表示父对象宽度的一半和全部高度;UDim2.fromScale(1, 1) 则会覆盖整块牌子。TextScaled 会让文字尽可能放大。
挑战
简单在大厅的状态板上显示欢迎消息。
- 在 PlayerAdded 代码下方,创建一个 SurfaceGui,并将它设为
workspace.StatusBoard的父级。 - 在其中创建
local status = Instance.new("TextLabel"),将其命名为Status,并将大小设为UDim2.fromScale(1, 1)。 - 将文字设为白色,使用
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 在线编辑器