아바타 컨텍스트 메뉴 (ACM) 는 사용자가 서로 상호 작용하는 것을 더 쉽게 만듭니다. 경험에서 ACM 가 활성화되면 사용자는 다른 사용자의 캐릭터에 걸어갈 수 있으며, 클릭하여 작은 메뉴를 여러 개의 기본 프로필열
경험에서 ACM을 활성화한 후 사용자 정의 ACM을 다음과 같은 방법으로 사용자 정의할 수 있습니다.
- 프로그래밍 방식으로 ACM을 특정 사용자에게 열고 닫습니다.
- Add 사용자 옵션을 추가 및 기존 옵션을 ACM에서 제거합니다.
아바타 컨텍스트 메뉴 활성화
아바타 컨텍스트 메뉴는 다음 StarterGui:SetCore() 옵션 "AvatarContextMenuEnabled"를 사용하여 활성화해야 합니다. 이 메뉴는 LocalScript 에서 사용하는 모든 경우에 최적화되지 않습니다. 아바타 컨텍스트 메뉴는 다른 사용자를 클릭하는 경우 사용자 지정 동작이 없는 경
다음 코드 샘플을 사용하여 ACM을 LocalScript에 활성화하세요.
-- 로컬 스크립트에서 실행하십시오, 이де알 "StarterPlayerScripts" 내에서local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
ACM이 활성화되었는지 여부를 감지해야 하는 경우 다음 코드를 사용하여 ACM의 현재 상태에 대한 부울을 반환할 수 있습니다.
--ACM이 현재 사용 중인지를 나타내는 부울 반환StarterGui:GetCore(AvatarContextMenuEnabled)
ACM 열기 및 닫기
활성화되면 StarterGui 를 사용하여 ACM 프로그램을 프로그래밍 방식으로 열고 닫을 수 있습니다.
ACM을 프로그래밍 방식으로 열려면 다음 코드를 사용하십시오:
-- 대상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)
-- 이제 원격 함수에서 InvokeServer()를 호출하여 선택 서버를 알릴 수 있습니다.
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- “AddAvatarContextMenuOption”을 사용하여 SetCore()에서 “AddAvatar” 옵션을 추가하세요
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)
메뉴 옵션 제거
사용자 지정 액션 이름 또는 기본 Enum.AvatarContextMenuOption 열거형을 참조하여 ACM에서 사용자 지정 및 기본 친구, 채팅, 보기 및 웨이브 옵션을 제거할 수 있습니다.
다음 코드를 사용하여 기본 및 사용자 지정 메뉴 옵션을 제거합니다.
-- “사용자 지정 ACM 동작” 옵션을 제거StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- AvatarContextMenuOption.Friend 열을 참조하여 기본 "친구" 옵션을 제거합니다.StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
메뉴 모양 사용자 정의
아바타 컨텍스트 메뉴의 모양을 변경하려면 StarterGui:SetCore() 를 호출하여 옵션 "AvatarContextMenuTheme"을 제공하여 메뉴 모습조정하고 매개 변수 및 값을 제공합니다.
ACM 사용자 인터페이스에는 다음과 같은 섹션이 포함되어 있습니다.
A. 이름 태그: 상호 작용하는 캐릭터의 사용자 이름입니다.
B. 버튼 프레임: ACM 버튼을 모두 포함합니다.
C. 버튼: 기본 ACM 작업에 대한 개별 버튼.
모양 매개 변수
이들은 ACM과 사용자 지정 매개 변수입니다.
배경
배경색 | ACM(백그라운드 이미지를 사용하지 않는 경우 가장 유용함)에 대한 전체 배경 Color3입니다. |
배경 투명도 | ACM의 전체 배경(0-1)값(백그라운드 이미지 사용 시 가장 유용함). |
배경 이미지 | ACM 배경에 대한 이미지의 유효한 자산 ID. |
배경 이미지 투명도 | 배경 이미지에 대한 투명도 값(0-1). |
배경 이미지 크기 조정 유형 | 배경 이미지 크기 조정을 위한 Enum.ScaleType 열거형. |
배경 이미지 조각 센터 | BackgroundImageScaleType가 Enum.ScaleType.Slice로 설정된 경우 중앙을 나타내는 Rect 을 지정합니다. |
이름 표시
버튼 프레임
버튼 프레임 색 | 액션 버튼이 있는 섹션(프레임)에 대한 Color3입니다. |
버튼 투명도 변경 | 버튼 프레임 섹션에 대한 투명도 값(0-1). |
버튼
버튼 색상 | ACM 액션 버튼의 배경을 위한 Color3입니다. |
버튼 투명도 | 액션 버튼의 배경 색상에 대한 투명도 값(0-1). |
버튼 호버 색상 | 액션 버튼의 "호버" 상태를 위한 Color3. |
버튼 투명도 변경 | 액션 버튼의 "호버" 색상에 대한 투명도 값(0-1). |
버튼 윤곽 색상 | 각 액션 버튼을 구분하는 얇은 줄에 대한 Color3입니다. |
버튼 이미지 | 버튼 배경에 사용할 이미지의 유효한 ID. |
버튼 이미지 크기 조정 유형 | 버튼 이미지 확장을 위한 Enum.ScaleType 열거형. |
버튼 이미지 조각 센터 | ButtonImageScaleType가 Enum.ScaleType.Slice로 설정된 경우 이미지의 중심을 지정하는 Rect 입니다. |
텍스트
서체 | 이름 태그 및 버튼 텍스트에 대한 Enum.Font 열거형 값. |
텍스트 색상 | ACM 내의 모든 텍스트에 대한 Color3입니다. |
텍스트 크기 조정 | 각 요소의 기본 텍스트 크기를 조정하는 부동 값입니다. |
다양한 이미지
메뉴 이미지 나가기 | ACM 닫기 버튼에 대한 이미지의 자산 ID. |
스크롤 왼쪽 이미지 | 카ру셀 "스크롤 왼쪽" 버튼에 대한 이미지의 ID. |
스크롤 오른쪽 이미지 | 카ру셀 "스크롤 오른쪽" 버튼에 대한 이미지의 유효한 자산 ID. |
선택한 캐릭터
선택한 캐릭터 표시 | 캐릭터의 머리 위에 떠 있는 MeshPart 는 선택되었음을 나타냅니다. |
크기 및 위치
크기 | ACM의 전체 크기에 대한 UDim2입니다. |
최소 크기 | ACM의 최소 크기를 지정하는 Vector2 입니다. |
최대 크기 | ACM의 최대 크기를 지정하는 Vector2 입니다. |
아스텟비율 | ACM의 상대 너비 및 높이를 지정하는 부동 값입니다. |
앵커포인트 | ACM의 AnchorPoint입니다. |
화면 위치 | ACM(열릴 때 십자가를 지정하는 위치)의 화면 위치를 지정하는 UDim2 입니다. |
오프스크린 위치 | ACM(개방/닫힐 때 트위니스 위치)의 오프-스크린 위치를 지정하는 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})