גשר נעלם
חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 10 מתוך 24.
האור המהבהב שינה חלק אחד. לגשר יש שלבים רבים, וכולם צריכים להשתנות יחד.
GetChildren() מחזירה את הילדים הישירים של אובייקט בתור טבלה, מוכנה ללולאת for. פונקציות ששייכות לאובייקט, כמו GetChildren, נקראות באמצעות נקודתיים:
for _, child in workspace.Bridge:GetChildren() do
print(child.Name)
endתיקייה יכולה להכיל גם את ה-Script שלך, ול-Script אין Transparency. הביטוי child:IsA("BasePart") מחזיר true עבור כל סוג של חלק ו-false עבור ה-Script. הביטוי if condition then ... end מריץ את השורות שבתוכו רק כאשר התנאי הוא true:
if child:IsA("BasePart") then
child.Transparency = 0.8
endחלק שקוף עדיין יכול להיות מוצק: CanCollide = false הוא מה שמאפשר לשחקנים ליפול דרכו.
אתגר
קלבגשר יש ארבע מדרגות מעל התהום, והסקריפט הזה נמצא בתיקייה של הגשר. הוא גורם למדרגות להיעלם פעם אחת. גרמו לגשר לפעול במחזור לנצח:
- 2 שניות אחרי ההתחלה המדרגות נעלמות:
Transparency0.8,CanCollidefalse - 2 שניות לאחר מכן הן חוזרות:
Transparency0,CanCollidetrue - הדבר חוזר כל 4 שניות, לנצח
לחצו על Play ותזמנו את החצייה בריצה, ואז לחצו על Check.
נסו בעצמכם
local bridge = script.Parent
-- זה גורם למדרגות להיעלם פעם אחת, לאחר 2 שניות.
-- גרמו להן להופיע שוב כעבור 2 שניות, וחזרו על כך ללא הפסקה.
task.wait(2)
for _, step in bridge:GetChildren() do
if step:IsA("BasePart") then
step.Transparency = 0.8
step.CanCollide = false
end
end
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין