บริการ

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ใน การนำโค้ดกลับมาใช้ใหม่ คุณอาจสังเกตเห็นการใช้วิธี game:GetService() อย่างบ่อยครั้ง บริการใน Roblox ช่วยให้คุณเข้าถึงฟีเจอร์ในตัวของเอนจิน เช่น การขายไอเทมในเกม การเปิดใช้งานการแชท การเล่นเสียง การทำแอนิเมชันวัตถุ และการจัดการอินสแตนซ์

อย่างแท้จริงแล้ว บริการคือขั้นตอนแรกใน รูปแบบที่สำคัญและพบบ่อยที่สุดในพัฒนา Roblox:

  1. รับบริการ
  2. ต้องโมดูลสคริปต์
  3. เพิ่มฟังก์ชันท้องถิ่น
  4. เพิ่ม เหตุการณ์ ที่เรียกใช้ฟังก์ชันเหล่านั้น

ตัวอย่างเช่น คุณอาจต้องการบันทึกตำแหน่งของผู้เล่นในโลกเมื่อพวกเขาออกจากเกมของคุณ:


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)

รายละเอียดสำคัญบางประการรวมถึง:

  • เนื่องจากคุณควรดึงบริการเพียงครั้งเดียวต่อสคริปต์ ข้อยกเว้นคือการตั้งชื่อให้ตัวแปรเหมือนกันกับชื่อบริการ ข้อกำหนดนี้ยังใช้กับโมดูลสคริปต์
  • คุณดึงบริการด้วยตัวแปรทั่วโลก game ซึ่งเป็นการอ้างอิงถึงรากของโมเดลข้อมูล
  • Roblox ไม่มีการรับประกันเกี่ยวกับลำดับการโหลด (และ การสตรีมอินสแตนซ์ ทำให้ซับซ้อนขึ้นว่าสิ่งใดถูกโหลดและไม่ได้โหลดในขณะใด) ดังนั้นการใช้ Instance:WaitForChild() จึงเป็นมาตรการความปลอดภัยที่สำคัญ

แทนที่จะเปรียบเทียบ ห้องสมุดมาตรฐาน, ฟังก์ชันและตัวแปรทั่วโลก, หรือห้องสมุดของบุคคลที่สาม ส่วนสำคัญของการพัฒนา Roblox คือการระบุว่าบริการจำนวนมากนั้นสามารถช่วยคุณเพิ่มฟังก์ชันการทำงานที่ต้องการในเกมของคุณได้อย่างไร ในตัวอย่างข้างต้น แทนที่จะใช้ห้องสมุด I/O มาตรฐานเพื่อเขียนไปยังดิสก์ คุณใช้ บริการคลาวด์ เพื่อจัดเก็บข้อมูล

บริการคอนเทนเนอร์

บริการคอนเทนเนอร์สามารถเก็บและมีอิทธิพลต่อวัตถุอื่น ๆ บริการคอนเทนเนอร์เหล่านี้ตั้งอยู่ที่รากของโมเดลข้อมูลและมองเห็นได้ในหน้าต่าง Explorer ของ Studio โดยรวมแล้ว บริการคอนเทนเนอร์เหล่านี้สร้างลำดับชั้นที่มีโครงสร้างสำหรับโมเดลข้อมูล เพื่อให้ Roblox Engine สามารถตีความและเรนเดอร์สถานที่ของคุณได้อย่างถูกต้อง ตารางต่อไปนี้รวมถึงบริการคอนเทนเนอร์ทั่วไปบางประการ

บริการคำอธิบาย
Workspaceเก็บวัตถุทั้งหมดที่เรนเดอร์ในโลก 3D เช่นชิ้นส่วนและภูมิประเทศ
Lightingเก็บวัตถุสำหรับการตั้งค่าผลกระทบทางแสงทั่วไป เช่น Atmosphere และ Sky
ReplicatedStorage และ ReplicatedFirstเก็บเนื้อหาและตรรกะที่จำลองระหว่างเซิร์ฟเวอร์และไคลเอนต์

เพื่อสำรวจโมเดลข้อมูลเพิ่มเติม คุณสามารถใช้วิธีการเหล่านี้:

  • game:FindService() ค้นหาสตรีมของบริการที่ระบุ
  • game:GetChildren() ส่งคืนอาเรย์ของเด็กในรากทั้งหมดของโมเดลข้อมูล ซึ่งเป็นบริการคอนเทนเนอร์ระดับสูงสุด
  • game:GetDescendants() ส่งคืนอาเรย์ของผู้สืบทอดทั้งหมดของโมเดลข้อมูล รวมถึงบริการคอนเทนเนอร์ทั้งหมดและเด็กของพวกเขา

ข้อมูลเพิ่มเติมเกี่ยวกับบริการคอนเทนเนอร์ ดูได้จากเอกสาร โมเดลข้อมูล

บริการการเขียนสคริปต์

บริการการเขียนสคริปต์จัดเตรียมฟังก์ชันการทำงานมาตรฐานใน Roblox Engine ที่คุณเรียกใช้ภายในสคริปต์ ตารางต่อไปนี้รวมถึงบริการการเขียนสคริปต์ทั่วไปบางประการ

บริการคำอธิบาย
TweenServiceใช้เพื่อสร้างคุณสมบัติตัวเลขของอินสแตนซ์อื่นจากค่าเริ่มต้นไปยังค่าที่สิ้นสุด โดยมีตัวเลือกสำหรับทิศทางและสไตล์การผ่อนคลาย การทำซ้ำ และการหน่วงเวลา
MarketplaceServiceบริการที่รับผิดชอบการทำธุรกรรมภายในเกม เช่น การเร่งให้ผู้เล่นซื้อผลิตภัณฑ์สำหรับนักพัฒนา การสมัครสมาชิก พาส Roblox Premium เป็นต้น
RunServiceประกอบด้วยวิธีการและเหตุการณ์สำหรับการจัดการเวลาตามเฟรม รวมถึงการตรวจสอบบริบท (เซิร์ฟเวอร์ ไคลเอนต์ โหมด Studio) ที่เกมกำลังทำงานอยู่ มีประโยชน์สำหรับการรันกระบวนการหรือการอัปเดตในแต่ละเฟรมเวลาทำงาน
SoundServiceควบคุมแง่มุมทั่วไประหว่างการเล่นเสียงในเกม เช่น มาตราส่วนโดพเพอร์และเสียงเชิงปริมาณ ยังสามารถรวมกลุ่มเสียงเพื่อควบคุมระดับเสียงและคุณสมบัติของเอฟเฟกต์ไดนามิกของสัญญาณเสียงหลาย ๆ เสียงในคราวเดียว
CollectionServiceจัดการกลุ่ม (คอลเลกชัน) ของอินสแตนซ์ที่มีแท็กซึ่งทำซ้ำจากเซิร์ฟเวอร์ไปยังไคลเอนต์ ทำให้คุณสามารถกำหนดและทำงานกับกลุ่มของอินสแตนซ์ที่เกี่ยวข้องได้ง่ายขึ้น

บริการคลาวด์

Roblox ยังมีบริการคลาวด์พิเศษสำหรับจัดการงานและกระบวนการที่เกิดขึ้นในคลาวด์ของ Roblox ตารางต่อไปนี้รวมถึงบริการคลาวด์ทั่วไปบางประการ

บริการคำอธิบาย
DataStoreServiceสำหรับการจัดเก็บข้อมูลถาวรข้ามเซสชัน
MemoryStoreServiceสำหรับการจัดเก็บข้อมูลที่เปลี่ยนแปลงอย่างรวดเร็วและบ่อยครั้ง
MessagingServiceสำหรับการสื่อสารระหว่างหลายเซิร์ฟเวอร์ในระหว่างเซสชันสด

บริการคลาวด์ยังมี API เว็บที่เกี่ยวข้อง; สามารถเข้าถึงได้จากสคริปต์หรือเครื่องมือภายนอก สำหรับข้อมูลเพิ่มเติม ดูที่ Open Cloud

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ