아바타 컨텍스트 메뉴

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

아바타 컨텍스트 메뉴(ACM)는 사용자가 서로 상호작용하기 쉽게 만듭니다.ACM이 경험에서 활성화되면 사용자가 다른 사용자의 캐릭터로 걸어가서 클릭하여 여러 기본 옵션이 있는 작은 메뉴를 열 수 있습니다.플레이어는 친구 요청을 보내거나, 개인 채팅을 시작하거나, 사용자의 프로필을 보거나, 웨이브를 볼 수 있습니다.

경험에서 ACM을 활성화한 후에는 다음과 같은 방법으로 ACM을 사용자 지정할 수 있습니다: After enabling the ACM in your experience, you can customize the ACM in the following ways:

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

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

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


-- 로컬스크립트에서 실행, 이상적으로 "StarterPlayerScripts" 내에서
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

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


--ACM이 현재 활성화되었는지를 나타내는 부울을 반환합니다.
StarterGui:GetCore(AvatarContextMenuEnabled)

ACM 열기 및 닫기

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

ACM를 프로그래밍 방식으로 열려면 다음 코드를 사용하십시오:


-- 스타터 가이드 사용: 대상 플레이어가 유효한 플레이어 개체인 setCore에서 targetPlayer
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)
-- 이 시점에서 원격 함수에서 InvokeServer()를 호출하여 서버에 선택을 알릴 수 있습니다
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- SetCore()에서 "AddAvatarContextMenuOption"을 사용하여 ACM 옵션 추가
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

메뉴 옵션 제거

사용자 지정 및 기본 친구 추가, 채팅, 보기 및 웨이브 옵션을 ACM에서 제거할 수 있습니다. 사용자 지정 작업 이름 또는 기본 Enum.AvatarContextMenuOption 열거형을 참조하여 참조하세요.

기본 및 사용자 지정 메뉴 옵션을 제거하려면 다음 코드를 사용하십시오:


-- 「사용자 지정 ACM 작업」 옵션 제거
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- AvatarContextMenuOption.Friend Enum을 참조하여 기본 "친구" 옵션을 제거합니다
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

메뉴 모양 사용자 모습

아바타 컨텍스트 메뉴의 모양을 변경하려면 StarterGui:SetCore() 옵션을 사용하여 호출하여 메뉴 모습조정하기 위한 매개변수 및 값 테이블을 제공합니다.

ACM 사용자 인터페이스에는 다음 섹션이 포함됩니다:

A. 이름 태그: 상호 작용하는 캐릭터의 사용자 이름.

B. 버튼 프레임: ACM 버튼 전체를 포함합니다.

C. 버튼: 기본 또는 사용자 지정 ACM 작업에 대한 개별 버튼.

외관 매개 변수

ACM와 함께 사용되는 사용자 지정 매개변수는 다음과 같습니다:

배경

배경색ACM의 전체 배경을 위한 A Color3 (배경 이미지를 사용하지 않을 때 가장 유용함).
배경 투명도ACM의 전체 배경(배경 이미지를 사용하지 않을 때 가장 유용함)에 대한 투명도 값(0–1)
배경 이미지ACM 배경에 대한 이미지의 유효한 자산 ID.
배경 이미지 투명도배경 이미지의 투명도 값(0–1)
배경 이미지 크기 유형배경 이미지 크기 조정을 위한 열거형 Enum.ScaleType.
배경 이미지 슬라이스 센터배경 이미지 크기 유형이 Enum.ScaleType.Slice 설정되어 있을 때 아홉 조각 이미지의 중앙을 지정하는 A Rect .

이름 태그

네임태그 색상어떤 플레이어와 상호작용하고 있는지 보여주는 바에 대한 A Color3
이름 밑줄 색상이름 태그와 작업 버튼 사이의 얇은 선을 위한 A Color3

버튼 프레임

버튼프레임 색상동작 버튼이 포함된 섹션(프레임)에 대한 A Color3
버튼프레임 투명도버튼 프레임 섹션의 투명도 값(0–1).

버튼

버튼 색상ACM 작업 버튼의 배경에 대한 A Color3
버튼 투명도동작 버튼의 배경색에 대한 투명도 값(0–1)입니다. Transparency value (0–1) for the background color of the action buttons.
버튼 호버 색상액션 버튼의 "호버" 상태에 대한 A Color3
버튼 호버 투명도동작 버튼의 "호버" 색상에 대한 투명도 값(0–1)입니다.
버튼 언더라인 색 ButtonUnderlineColor각 액션 버튼을 구분하는 얇은 선에 대한 A Color3
버튼이미지버튼 배경에 대한 유효한 이미지 ID입니다.
버튼 이미지 크기 유형버튼 이미지 크기 조정을 위한 열거형 Enum.ScaleType.
버튼 이미지 슬라이스 센터버튼 이미지 크기 유형이 Enum.ScaleType.Slice 설정되어 있을 때 아홉 조각 이미지의 중앙을 지정하는 Rect 입니다.

문자열

폰트이름 태그 및 버튼 텍스트에 대한 열거형 값 Enum.Font.
텍스트색ACM 내의 모든 텍스트에 대한 A Color3
텍스트 규모각 요소의 기본 텍스트 크기를 조정하는 부동 값입니다. A float value to scale the default text sizes of each element.

다양한 이미지

메뉴 이미지 떠나기LeaveMenuImageACM 닫기 버튼에 대한 이미지 ID.
스크롤LeftImage카루셀 "스크롤 왼쪽" 버튼에 대한 이미지 ID.
스크롤라이트 이미지카루셀 "오른쪽 스크롤" 버튼에 대한 유효한 이미지 ID.

선택한 문자

선택된 캐릭터 인디케이터문자의 머리 위로 떠오르는 MeshPart 를 선택했음을 나타내는 문자 위의

크기 및 위치

크기ACM의 전체 크기에 대한 A UDim2
최소 크기A Vector2 ACM의 최소 크기를 지정하는 것.
최대 크기A Vector2 ACM의 최대 크기를 지정하는 것.
측면 비율ACM의 상대 너비와 높이를 지정하는 부동 값.
앵커 포인트ACM의 AnchorPoint .
화면 위치 OnScreenPositionA UDim2 ACM(열릴 때 십대가 되는 위치)의 화면 위치를 지정하는 것
화면 밖 위치 OffScreenPositionA UDim2 ACM(열렸을 때/닫힐 때 십대에서/에게로 이동하는 위치)의 화면 밖 위치를 지정하는

예시 커스터마이징

다음 코드 샘플은 기본 매개 변수를 사용하여 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
})