Menu
CoddyTech

ドロッパー

Coddyの「Robloxゲーム:工場経営タイクーン」コースのレッスン 2/18。

お金は鉱石から始まります。コンベアの上にある灰色のボックス、workspace.Tycoon.Dropperは、毎秒小さなパーツを落とします。それぞれの鉱石は、属性としてその価値を持ちます。属性とは、任意のインスタンスに保存できる名前付きの値です。

ore:SetAttribute("Value", 10)
print(ore:GetAttribute("Value")) --> 10

落下は永遠に続くため、これはループです。待機するループはスクリプトの残りの処理を止めてしまうので、ドロッパーのループはtask.spawn内で並行して実行され、ドロッパーがワールドから離れると停止します。

task.spawn(function()
	while dropper:IsDescendantOf(workspace) do
		dropOre(dropper)
		task.wait(Settings.DropInterval)
	end
end)

新しいPartは、アンカーを設定しない限り固定されていないため、鉱石はドロッパーから自然に落ちます。

challenge icon

チャレンジ

簡単

ドロッパーから鉱石を落とします:

  1. 上部付近に:local tycoon = workspace.Tycoon。
  2. dropOre(dropper)を記述します:1×1×1のPartを作成し、名前をOre、色を灰色(Color3.fromRGB(150, 150, 160))にして、ドロッパーの2.5 studs下に配置します。属性ValueをSettings.OreValueに設定し、workspaceを親にします。
  3. startDropper(dropper)を記述します:task.spawn内で、ドロッパーがworkspace内にある間、鉱石を落としてSettings.DropInterval秒待ちます。
  4. startDropper(tycoon.Dropper)を呼び出します。

Playを押すと、ドロッパーの下に鉱石が積み上がります。その後、Checkを押します。

自分で試してみよう

local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)

print("Ore is worth " .. Settings.OreValue .. " Cash")

-- すべてのプレイヤーのリーダーボードにCashが追加される
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local cash = Instance.new("IntValue")
	cash.Name = "Cash"
	cash.Parent = leaderstats
end)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Robloxゲーム:工場経営タイクーンのすべてのレッスン