בונה מגדלים
חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 7 מתוך 24.
פונקציה היא קטע קוד בעל שם שאפשר להריץ בכל פעם שצריך. הערכים שמעבירים אליה נקראים פרמטרים:
local function greet(name)
print("Welcome, " .. name)
end
greet("Ava")
greet("Leo").. מחבר שתי מחרוזות, לכן "Welcome, " .. "Ava" הוא Welcome, Ava. הקוד מדפיס את Welcome, Ava ואת Welcome, Leo. הגדרת הפונקציה רק שומרת אותה; כל קריאה, כמו greet("Ava"), מריצה את הקוד שלה כאשר name מוגדר לערך שהעברת.
פונקציה יכולה לקבל כמה פרמטרים, המופרדים בפסיקים, ולהשתמש בהם בכל מקום בתוכה, למשל ב-Size:
local function makeWall(width, height)
local wall = Instance.new("Part")
wall.Size = Vector3.new(width, height, 1)
wall.Anchored = true
wall.Parent = workspace
end
makeWall(10, 6)makeWall(10, 6) מגדירה את width ל-10 ואת height ל-6, בסדר הזה.
חלק גדל באופן שווה כלפי מעלה וכלפי מטה מנקודת המיקום שלו, ולכן חלק שגובהו h עומד על הקרקע (Y 0) כאשר מרכזו נמצא בגובה h / 2.
אתגר
קלהשלם את makeTower(x, height) והשתמש בה שלוש פעמים.
- הגדר את Size של המגדל לרוחב של
4, לגובה שלheightולעומק של4. - הגדר את Position שלו כך שיעמוד על הקרקע בנקודה
x:Vector3.new(x, height / 2, 0). - קרא לה עבור שלושה מגדלים:
(-10, 6),(0, 12)ו-(10, 18).
נסו בעצמכם
local function makeTower(x, height)
local tower = Instance.new("Part")
tower.Name = "Tower"
tower.Anchored = true
-- גודל: רוחב 4, גובה height, עומק 4
-- מיקום: ב-x, עומד על הקרקע (המרכז בגובה height / 2)
tower.Parent = workspace
end
makeTower(-10, 6)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין