נקודות ביקורת
חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 22 מתוך 24.
כששחקן מובס, Roblox ממתין 5 שניות (Players.RespawnTime) ומעניק לו דמות חדשה ב־SpawnLocation. אם במקום יש כמה SpawnLocations, Roblox בוחר אחד באקראי, ולכן נקודת ביקורת עלולה להפוך בטעות לנקודת התחלה.
לכל שחקן יש מאפיין RespawnLocation. מגדירים אותו ל־SpawnLocation, ואז השחקן הזה תמיד יופיע מחדש שם. מסלולי מכשולים משתמשים בו פעמיים: כששחקן מצטרף, הוא מצביע על נקודת ההתחלה; כשהשחקן מגיע לנקודת ביקורת, הוא מועבר אליה.
local Players = game:GetService("Players")
local camp = workspace.Camp
camp.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
player.RespawnLocation = camp
end
end)RespawnLocation שייך לכל שחקן בנפרד, ולכן הגעה של שחקן אחד למחנה לא מעבירה אף שחקן אחר.
אתגר
בינוניהמשטח האפור הוא workspace.Start, והמשטח הכחול הזוהר הוא נקודת ביקורת (שניהם SpawnLocations). הסקריפט הזה נמצא בתוך נקודת הביקורת.
- כששחקן מצטרף, יש להגדיר את
RespawnLocationשלו ל-workspace.Start. - כששחקן נוגע בנקודת הביקורת, יש להגדיר את
RespawnLocationשלו לנקודת הביקורת ולשנות את צבעה לירוק:Color3.fromRGB(0, 255, 0).
לחצו על Play, עלו על נקודת הביקורת, ואז לכו אל תוך הלבה שבקצה הרחוק: אתם אמורים להופיע שוב בנקודת הביקורת. לאחר מכן לחצו על Check.
נסו בעצמכם
local Players = game:GetService("Players")
local checkpoint = script.Parent
Players.PlayerAdded:Connect(function(player)
-- התחל כל שחקן ב-workspace.Start
end)
checkpoint.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
-- מעתה, גרום לשחקן הזה להופיע מחדש כאן
-- שנה את צבע ה-checkpoint לירוק
end
end)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין