ใน การใช้รหัสซ้ำ คุณอาจสังเกตเห็นการใช้ game:GetService() วิธีบ่อยครั้งของวิธีการใช้งาน บริการ Roblox ช่วยให้คุณเข้าถึงคุณสมบัติและคุณสมบัติที่อยู่ในตัวเครื่อง
ในความเป็นจริงบริการเป็นขั้นตอนแรกใน รูปแบบที่พบบ่อยที่สุดของการพัฒนา Roblox :
- รับบริการ
- ต้องการสคริปโมดูล
- เพิ่มระบบท้องถิ่น
- เพิ่ม เหตุการณ์ ที่เรียกใช้งานเหล่านี้
ตัวอย่างเช่น คุณอาจต้องการบันทึกตำแหน่งผู้เล่นในโลกเมื่อพวกเขาออกจากประสบการณ์ของคุณ:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- หน้าโค้งที่เรียกใช้งานได้ซ้ำในสคริปต์โมดูล
local function saveProgress(character)
-- รับตำแหน่งของตัวละครของผู้เล่น
local position = character:FindFirstChild("HumanoidRootPart").Position
-- ใช้ฟังก์ชัน saveData ในสคริปต์โมดูลซึ่งเขียนไปยัง
-- DataStoreService
SaveManager.saveData(character, position)
end
-- คุณสมบัติท้องถิ่นอื่นที่เรียก saveProgress() เมื่อตัวละครถูกลบ
-- จากประสบการณ์ (ในกรณีนี้เมื่อผู้เล่นออก)
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- เรียก onPlayerAdded เมื่อผู้เล่นคนแรกที่เชื่อมต่อกับประสบการณ์
Players.PlayerAdded:Connect(onPlayerAdded)
รายละเอียดบางประการรวมถึง:
- เนื่องจากคุณควรจะดึงสินทรัพย์เฉพาะบริการเท่านั้นต่อสคริปต์ดังนั้นการดึงค่าตัวแปรจะให้ชื่อเดียวกับบริการ
- คุณดึงข้อมูลบริการด้วยตัวแปร global game ซึ่งเป็นอ้างอิงถึงรากของแม่ข้อมูล
- Roblox ไม่ได้ให้การรับประกันเกี่ยวกับคำสั่งการโหลด (และ การสตรีมมิงจำนวน ที่ซับซ้อนสิ่งที่โหลดในเวลาใด ๆ นั้นเป็นสิ่งสำคัญที่จะใช้ Instance:WaitForChild() เป็นมาตรการป้องก
แทนที่จะเปรียบเทียบ ห้องสมุดมาตรฐาน หรือ ตัวแปรและค่าตัวแปรของบุคคลที่สาม หรือไม่ใช่ห้องสมุดของบุคคลที่สาม ส่วนใหญ่ของการพัฒน
บริการคอนเทนเนอร์
บริการคอนเทนเนอร์สามารถรวบรวมและส่งผลกระทบต่อวัตถุอื่น ๆ บริการคอนเทนเนอร์เหล่านี้อยู่ที่รากของโมเดลข้อมูลและมองเห็นได้ในหน้าต่าง Explorer ของ Studio บริการคอนเทนเนอร์ส่วนใ
บริการ | คำอธิบาย :--- | :--- Workspace | มีวัตถุที่เรนเดอร์ในโลก 3D เช่นอะไหล่และพื้น
เพื่อตรวจสอบรุปแบบข้อมูลเพิ่มเติม คุณสามารถใช้วิธีการเหล่านี้ได้:
- Class.DataModel:FindService()|game:FindService() ]] ค้นหาตัวอินสแตนซ์ของบริการที่ระบุ
- game:GetChildren() กลับรายการแสดงผลของคลาสเดียวกันที่เป็นบริการเครื่องแม่ของข้อมูลซึ่งเป็นบริการระดับกลุ่มสูงสุด
- game:GetDescendants() ส่งคืนรายการของบรรดาลูกหลานของรุ่นข้อมูลทั้งหมดรวมถึงบริการคอนเทนเนอร์และบุตรหลานของพวกเขา
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการคอนเทนเนอร์ โปรดดู แผนภาพข้อมูล การจัดการ
บริการสคริปต์
บริการสคริปต์ให้การทำงานระดับมาตรฐานในเครื่องมือ Roblox ที่คุณเรียกในสคริปต์ ตารางต่อไปนี้รวมถึงบริการสคริปต์ทั่วไป
บริการ | คำอธิบาย :--- | :--- TweenService | ใช้เพื่อ
บริการเมฆ
Roblox ยังมีบริการเมฆพิเศษสำหรับการจัดการภารกิจและกระบวนการที่เกิดขึ้นใน Roblox คลาวด์ ตารางต่อไปนี้รวมถึงบริการเมฆทั่วไป
บริการ | คำอธิบาย :--- | :--- DataStoreService | สำหรับการเก็บรักษาข้อมูลที่คงที่ในช่วงเวลาของเซสชัน MemoryStoreService | สำหรับการเก็กข้อมูลที่เปลี่ยนแปลงอย่
บริการในเมฆยังมี API เว็บที่ตรงกัน; พวกเขาสามารถเข้าถึงได้จากสคริปต์หรือเครื่องมือของบุคคลที่สาม สำหรับข้อมูลเพิ่มเติม, ดู เปิดเมฆ .