아바타 컨텍스트 메뉴

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

아바타 컨텍스트 메뉴(ACM)는 사용자가 서로 상호작용하기 쉽게 만들어 줍니다. 게임에서 ACM이 활성화되면 사용자는 다른 사용자의 캐릭터에 다가가 클릭하여 여러 기본 옵션이 포함된 작은 메뉴를 열 수 있습니다. 플레이어는 친구 요청을 보내거나, 비공식 채팅을 시작하거나, 사용자 프로필을 보거나, 손을 흔들 수 있습니다.

게임에서 ACM을 활성화한 후, 다음과 같은 방법으로 ACM을 사용자화할 수 있습니다:

아바타 컨텍스트 메뉴 활성화

아바타 컨텍스트 메뉴는 StarterGui:SetCore() 옵션 "AvatarContextMenuEnabled"를 사용하여 LocalScript에서 활성화해야 합니다. ACM은 다른 사용자를 클릭하는 데에 미리 정의된 동작이 없는 게임에서 가장 잘 사용됩니다.

다음 코드 샘플을 사용하여 LocalScript에서 ACM을 활성화하세요:


-- "StarterPlayerScripts" 내의 LocalScript에서 실행
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

ACM이 활성화되었는지 감지해야 하는 경우 아래 코드를 사용하여 ACM의 현재 상태에 대한 불리언을 반환할 수 있습니다:


---ACM이 현재 활성화되어 있는지 표시하는 불리언을 반환합니다.
StarterGui:GetCore(AvatarContextMenuEnabled)

ACM 열기 및 닫기

한 번 활성화되면 ACM을 프로그래밍 방식으로 StarterGui로 열고 닫을 수 있습니다.

ACM을 프로그래밍 방식으로 열기 위해 아래 코드를 사용하세요:


-- targetPlayer가 유효한 Player 객체일 때 StarterGui:SetCore 사용
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

ACM을 프로그래밍 방식으로 닫으려면 아래 코드를 사용하세요:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

메뉴 옵션

스크립트를 통해 동작을 추가하고 제거할 수 있습니다. 기본적으로 메뉴에는 다음 옵션이 있습니다:

메뉴 옵션설명
친구선택한 사용자에게 친구 요청을 보냅니다.
채팅선택한 사용자와 인게임 채팅에서 비공식 대화를 시작합니다.
보기선택한 사용자의 외모를 검사하는 창을 엽니다.
손 흔들기선택한 사용자에게 손 흔들기 애니메이션을 시작합니다.

ACM이 열리면 사용자는 캐릭터 선택 캐러셀에서 다른 사용자를 스크롤하여 선택할 수 있습니다. 캐릭터는 선택된 캐릭터와의 거리 기준으로 정렬됩니다. 메뉴는 열렸을 때만 업데이트되며, 스크롤할 때 사용 가능한 사용자 목록이 반복됩니다.

메뉴 옵션 추가

활성화된 후, 게임에 특정 행동을 ACM에 추가할 수 있습니다. 예를 들어, 게임에서는 거래 요청, 파티 추가 옵션 또는 기타 특별한 상호작용을 허용할 수 있습니다.

다음 예제는 아바타 컨텍스트 메뉴에 사용자 정의 동작을 추가하는 방법을 보여줍니다:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- "BindableEvent"에 함수를 연결
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- 이 시점에서 선택 사항을 서버에 알리기 위해 RemoteFunction의 InvokeServer()를 호출할 수 있습니다
print("ACM 이벤트가 " .. player.Name .. "에 의해 " .. targetPlayer.Name .. "에서 선택됨")
end
bindableEvent.Event:Connect(onCustomACMAction)
-- "AddAvatarContextMenuOption"을 사용하여 SetCore()로 ACM 옵션 추가
local options = {"사용자 정의 ACM 동작", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

메뉴 옵션 제거

사용자 정의 및 기본 친구 추가, 채팅, 보기, 손 흔들기 옵션을 ACM에서 제거할 수 있습니다. 사용자 정의 Action 이름이나 기본 Enum.AvatarContextMenuOption 열거형을 참조하여 제거할 수 있습니다.

다음 코드를 사용하여 기본 및 사용자 정의 메뉴 옵션을 제거하세요:


-- "사용자 정의 ACM 동작" 옵션 제거
StarterGui:SetCore("RemoveAvatarContextMenuOption", "사용자 정의 ACM 동작")
-- AvatarContextMenuOption.Friend Enum을 참조하여 기본 "친구" 옵션 제거
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

메뉴 모양 사용자화

아바타 컨텍스트 메뉴의 모양을 변경하려면 StarterGui:SetCore()를 호출하고 "AvatarContextMenuTheme" 옵션에 매개변수와 값을 제공하여 메뉴 외관을 조정합니다.

ACM 사용자 인터페이스에는 다음 섹션이 포함되어 있습니다:

A. 이름 태그: 상호작용하고 있는 캐릭터의 사용자 이름입니다.

B. 버튼 프레임: ACM 버튼이 모두 포함되어 있습니다.

C. 버튼: 기본 또는 사용자 정의 ACM 동작을 위한 개별 버튼입니다.

외관 매개변수

ACM과 관련된 사용자화 매개변수는 다음과 같습니다:

배경

BackgroundColorACM의 전체 배경에 대해 사용할 Color3입니다 (배경 이미지가 없을 때 가장 유용합니다).
BackgroundTransparencyACM의 전체 배경에 대한 투명도 값(0–1)입니다 (배경 이미지가 없을 때 가장 유용합니다).
BackgroundImageACM 배경의 유효한 자산 ID입니다.
BackgroundImageTransparency배경 이미지에 대한 투명도 값(0–1)입니다.
BackgroundImageScaleType배경 이미지 스케일링을 위한 Enum.ScaleType 열거형입니다.
BackgroundImageSliceCenterEnum.ScaleType.Slice로 배경 이미지 스케일링이 설정된 경우 9 슬라이스 이미지의 중앙을 지정하는 Rect입니다.

이름 태그

NameTagColor상호작용하고 있는 플레이어를 표시하는 바의 색상을 위해 사용할 Color3입니다.
NameUnderlineColor이름 태그와 동작 버튼 사이의 얇은 선의 색상을 위해 사용할 Color3입니다.

버튼 프레임

ButtonFrameColor동작 버튼을 포함하는 섹션(프레임)의 색상을 위해 사용할 Color3입니다.
ButtonFrameTransparency 버튼 프레임 섹션에 대한 투명도 값(0–1)입니다.

버튼

ButtonColorACM 동작 버튼의 배경에 대한 Color3입니다.
ButtonTransparency동작 버튼의 배경 색상에 대한 투명도 값(0–1)입니다.
ButtonHoverColor동작 버튼의 "호버" 상태에 대한 Color3입니다.
ButtonHoverTransparency동작 버튼의 "호버" 색상에 대한 투명도 값(0–1)입니다.
ButtonUnderlineColor각 동작 버튼을 구분하는 얇은 선의 색상을 위해 사용할 Color3입니다.
ButtonImage버튼 배경에 대한 유효한 이미지 자산 ID입니다.
ButtonImageScaleType버튼 이미지 스케일링을 위한 Enum.ScaleType 열거형입니다.
ButtonImageSliceCenterEnum.ScaleType.Slice로 설정된 버튼 이미지의 9 슬라이스 이미지 중앙을 지정하는 Rect입니다.

텍스트

Font이름 태그 및 버튼 텍스트에 대한 Enum.Font 열거형 값입니다.
TextColorACM 내의 모든 텍스트에 대한 Color3입니다.
TextScale각 요소의 기본 텍스트 크기를 스케일링하기 위한 부동 소수점 값입니다.

다양한 이미지

LeaveMenuImageACM 닫기 버튼의 이미지 자산 ID입니다.
ScrollLeftImage캐러셀 "스크롤 왼쪽" 버튼의 이미지 자산 ID입니다.
ScrollRightImage캐러셀 "스크롤 오른쪽" 버튼의 유효한 이미지 자산 ID입니다.

선택된 캐릭터

SelectedCharacterIndicator선택된 상태를 나타내기 위해 캐릭터 머리 위에 떠 있는 MeshPart입니다.

크기 및 위치

SizeACM의 전체 크기에 대한 UDim2입니다.
MinSizeACM의 최소 크기를 지정하는 Vector2입니다.
MaxSizeACM의 최대 크기를 지정하는 Vector2입니다.
AspectRatioACM의 상대적인 너비와 높이를 지정하는 부동 소수점 값입니다.
AnchorPointACM의 AnchorPoint입니다.
OnScreenPositionACM의 화면 내 위치를 지정하는 UDim2입니다 (열릴 때 애니메이션하는 위치).
OffScreenPositionACM의 화면 외 위치를 지정하는 UDim2입니다 (열리고 닫힐 때 애니메이션하는 위치).

예제 사용자화

다음 코드 샘플은 몇 가지 기본 매개변수를 사용하여 ACM 테마를 사용자화합니다:


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuTheme", {
BackgroundImage = "",
BackgroundTransparency = 0.5,
BackgroundColor = Color3.fromRGB(111, 145, 242),
NameTagColor = Color3.fromRGB(0, 0, 200),
NameUnderlineColor = Color3.fromRGB(213, 233, 255),
ButtonFrameColor = Color3.fromRGB(15, 24, 65),
ButtonFrameTransparency = 0.2,
ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),
Font = Enum.Font.SciFi
})
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.