드로퍼
Coddy의 Roblox 게임: 팩토리 타이쿤 코스 레슨. 22개 중 2번째.
돈은 광석에서 시작됩니다. 컨베이어 위의 회색 상자 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는 고정하지 않으면 고정되지 않은 상태이므로, 광석은 저절로 드롭퍼 밖으로 떨어집니다.
챌린지
쉬움드로퍼가 광석을 떨어뜨리게 하세요.
- 위쪽 근처에:
local tycoon = workspace.Tycoon. dropOre(dropper)를 작성하세요. 드로퍼 아래 2.5 스터드 위치에Ore라는 이름의1, 1, 1크기 Part를 만들고,Settings.OreValue값의Value속성을 설정한 다음 workspace에 넣으세요.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 플레이그라운드