カウントダウン
Coddyの「Robloxゲーム:災害サバイバル」コースのレッスン 3/18。
各ラウンドの前に、ボードがカウントダウンします:休憩時間:5、4、3、2、1。この動きは2つのツールで実現します。
関数は、処理に名前を付けます。このゲームでは、すべてのメッセージが次の関数を通ります:
local function setStatus(text)
status.Text = text
end
setStatus("Hello")数値のforループでカウントダウンできます。3番目の数値はステップで、-1は1ずつ減らします。task.wait(1)はスクリプトを1秒間停止するため、ループは数値ごとに1秒かかります:
for seconds = 3, 1, -1 do
print(seconds)
task.wait(1)
end
print("Go!")これにより、1秒間隔で3、2、1が表示され、その後にGo!が表示されます。カウントダウンの長さはSettings.Intermissionで決まるため、設定を変更するとゲームも変わります。
チャレンジ
簡単スクリプトの末尾に:
local function setStatus(text)を書き、StatusラベルのTextを設定します。Settings.Intermissionから1まで、1秒ごとにカウントダウンし、Intermission: 5、Intermission: 4のように表示します。- カウントダウンの後、
Get ready!を表示します。
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)
-- ロビーにあるステータスボード
local gui = Instance.new("SurfaceGui")
gui.Parent = workspace.StatusBoard
local status = Instance.new("TextLabel")
status.Name = "Status"
status.Size = UDim2.fromScale(1, 1)
status.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
status.TextColor3 = Color3.fromRGB(255, 255, 255)
status.TextScaled = true
status.Text = "Welcome to Disaster Survival!"
status.Parent = gui
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。