רצפת לבה
חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 12 מתוך 24.
ממשטח המגע ידוע לך ש־hit הוא חלק גוף. ה־Parent שלו הוא הדמות, המודל שמכיל את כל חלקי הגוף. הדמות מכילה גם Humanoid, שמחזיק ב־Health.
FindFirstChild מחפש ילד לפי שם ומחזיר nil (כלום) כשאין כזה:
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid then
print(humanoid.Health)
endה־if מדלג על הבלוק שלו כאשר humanoid הוא nil. לכדור נופל אין Humanoid, ושימוש ב־nil כאילו היה Humanoid גורם לשגיאה ב־Output בכל פעם שמשהו שאינו שחקן נוגע בחלק.
Humanoid שה־Health שלו מגיע ל־0 מובס, והשחקן מופיע מחדש כעבור כמה שניות.
אתגר
בינוניהרצועה הכתומה הזוהרת היא לבה, והסקריפט הזה נמצא בתוכה. כשמשהו נוגע בלבה, חפש Humanoid בתוך hit.Parent, ואם יש כזה, הגדר את Health שלו ל־0.
ודא שהסקריפט שלך מתמודד גם עם דברים שאינם שחקנים: בדיקה אחת מפילה כדור על הלבה.
לחץ על הפעלה וצעד לתוך הלבה (תופיע מחדש אחרי 5 שניות), ואז לחץ על בדיקה.
נסו בעצמכם
local lava = script.Parent
lava.Touched:Connect(function(hit)
end)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין