In 코드 재사용 코드 , you might have noticed frequent use of the game:GetService() 메서드. Roblox 서비스는 엔진의 내장 기능에 액세스할 수 있습니다, like selling 체험 내 아이템, enabling chat, playing sounds, animating objects, and managing instances.
사실 서비스는 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 함수를 사용하여
-- 데이터 저장소 서비스.
SaveManager.saveData(character, position)
end
-- 캐릭터가 제거된 경우 saveProgress()를 호출하는 다른 로컬 함수
-- 경험(이 경우, 플레이어가 떠날 때)에서.
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- 플레이어가 경험에 처음 연결할 때 호출됩니다.
Players.PlayerAdded:Connect(onPlayerAdded)
일부 키 세부 정보에는 다음이 포함됩니다.
- 스크립트당 서비스를 한 번만 검색해야 하기 때문에 규칙은 서비스에 동일한 이름을 지정하는 것입니다. 이 규칙은 모듈 스크립트에도 적용됩니다.
- Class.DataModel|game 글로벌 변수로 서비스를 검색하면 데이터 모델의 루트에 대한 참조를 가져옵니다.
- Roblox는 로딩 순서(및 인스턴스 스트림 더 복잡하게 하기)에 대한 보장을 하지 않으므로 Instance:WaitForChild() 사용은 중요한 안전 조치입니다.
일반적인 라이브러리 Standard Library, Global Functions and Variables, 또는 제3자 라이브러리를 비교하는 대신, Roblox 개발의 대부분은 다양한 서비스에서 사용자에게 원하는 기능을 추가할 수 있는 서비스를 식별하는 것입니다. 위의 예에서 표시하는 것처럼 일반적
컨테이너 서비스
컨테이너 서비스는 다른 개체를 포함하고 영향을 미칠 수 있습니다. 이 컨테이너 서비스는 데이터 모델의 루트에 있으며 Studio의 탐색기 창에 표시됩니다. 집합적으로, 이 컨테이너 서비스는 데이터 모델에 대한 구조적 계층을 형성하므로 Roblox 엔진이 올바르게 해석하고 렌더링할 수
서비스 | 설명 :--- | :--- Workspace | 모든 개체를 3D 세계에서 렌더링하는 개체, 부품 및 지형을 포함합니다. Class.Lighting</
데이터 모델을 자세히 검토하려면 다음 메서드를 사용할 수 있습니다.
- game:FindService() 지정된 서비스의 인스턴스를 검색합니다.
- game:GetChildren() 는 데이터 모델의 모든 상위 레벨 컨테이너 서비스인 자식 배열을 반환합니다.
- game:GetDescendants() 는 모든 컨테이너 서비스 및 자식을 포함한 데이터 모델의 모든 후손을 반환합니다.
컨테이너 서비스에 대한 자세한 내용은 데이터 모델 문서를 참조하십시오.
스크립트 서비스
스크립트 서비스는 Roblox 엔진에서 스크립트를 호출하는 기본 기능을 제공합니다. 다음 표에는 일반적인 스크립트 서비스가 포함되어 있습니다.
서비스 | 설명 :--- | :--- Class.T
클라우드 서비스
Roblox에는 Roblox 클라우드에서 발생하는 작업 및 프로세스를 처리하기 위한 특별한 클라우드 서비스가 있습니다. 다음 표에는 일부 일반적인 클라우드 서비스가 포함되어 있습니다.
서비스 | 설명 :--- | :--- DataStoreService | 지속적인 데이터를 세션 간에 저장합니다. MemoryStoreService | 지속적인 데이터를 빠르게 변경하는 경우. MessagingService | 세션 간의 통신.
클라우드 서비스에는 해당 웹 API가 있습니다; 외부 스크립트 또는 도구에서 액세스할 수 있습니다. 자세한 내용은 클라우드 서비스 개요 를 참조하십시오.