המפיל
שיעור 2 מתוך 22 בקורס משחק Roblox: איל מפעל של Coddy.
הכסף מתחיל בעפרה. הקופסה האפורה שמעל המסוע, 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)חלק חדש אינו מעוגן אלא אם מעגנים אותו, ולכן העפרה נופלת מהמַפיל מעצמה.
אתגר
קלגרמו למתקן להוריד עפרה.
- קרוב לחלק העליון:
local tycoon = workspace.Tycoon. - כתבו
dropOre(dropper): חלק1, 1, 1בשםOre, במרחק 2.5 studs מתחת למתקן, עם מאפייןValueשערכוSettings.OreValue, בתוך סביבת העבודה. - כתבו
startDropper(dropper): בתוךtask.spawn, כל עוד המתקן נמצא בסביבת העבודה, הורידו עפרה בכל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 אונליין