Menu
CoddyTech

投放器

Coddy Roblox 游戏:工厂大亨 课程的第 2 课,共 22 课。

赚钱要从矿石开始。传送带上方的灰色箱子 workspace.Tycoon.Dropper 每秒掉落一块小零件。每块矿石都带有一个 属性,用于存储它的价值。属性是一个命名值,你可以存储在任何实例上:

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

矿石会一直掉落,所以这里需要一个循环。等待中的循环会阻塞脚本的其余部分,因此掉落器的循环会通过 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、名为 Ore 的 Part,放在投放器下方 2.5 studs 处,并将 Value 属性设为 Settings.OreValue,放入 workspace。
  3. 编写 startDropper(dropper):在 task.spawn 中,只要投放器还在 workspace 中,就每隔 Settings.DropInterval 投放一次矿石。对 tycoon.Dropper 调用它。

按“开始”:灰色矿石会堆积在投放器下方。然后按“检查”。

亲手试试

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)

-- 第 2 课:在这里添加 Dropper

Roblox 游戏:工厂大亨中的所有课

自己练习: Roblox 在线编辑器