Kontekstowe menu awatara

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Menu kontekstowe awatara (ACM) ułatwia użytkownikom interakcję ze sobą.Gdy ACM jest włączone w twoim doświadczeniu, użytkownik może przejść do postaci innego użytkownika i kliknąć na nią, aby otworzyć małe menu z kilkoma domyślnymi opcjami.Gracz może wysłać prośbao przyjaciela, rozpocząć prywatną rozmowę, zobaczyć profil użytkownika lub falę.

Po włączeniu ACM w swoim doświadczeniu możesz dostosować ACM w następujący sposób:

Włącz menu kontekstowe awatara

Menu kontekstowe awatara musi być włączone za pomocą opcji StarterGui:SetCore() "AvatarContextMenuEnabled" w LocalScript.ACM jest najlepiej używany w doświadczeniach, w których nie ma zdefiniowanego wcześniej zachowania dla kliknięcia na innych użytkowników.

Użyj następującego przykładu kodu, aby włączyć ACM w LocalScript :


-- Uruchom w lokalnym skrypcie, idealnie w ramach "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Jeśli musisz wykryć, czy ACM jest włączone, możesz użyć następującego kodu, aby zwrócić boolean na obecny stan ACM:


--Zwraca booleszne wskazujące, czy ACM jest obecnie włączone.
StarterGui:GetCore(AvatarContextMenuEnabled)

Otwórz i zamknij ACM

Po włączeniu możesz otwierać i zamykać program ACM programowo za pomocą StarterGui.

Aby otworzyć ACM programowo, użyj następującego kodu:


-- Użyj StarterGui:SetCore, gdzie targetPlayer jest ważnym obiektem gracza
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Aby zamknąć ACM programowo, użyj następującego kodu:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opcje menu

Możesz dodać i usunąć akcje za pomocą skryptowania. Domyślnie menu ma następujące opcje:

Opcja menuOpis
PrzyjacielWysyła zaproszenie o przyjaciela do wybranego użytkownika.
CzatOtwiera prywatną rozmowę z wybranym użytkownikiem w czacie w doświadczeniu.
ZobaczOtwiera okno, aby sprawdzić wygląd wybranego użytkownika.
PrzepięcieInicjuje animację falową dla wybranego użytkownika.

Gdy ACM jest otwarte, użytkownik może przewijać i wybierać innych użytkowników w karcie wyboru znaków.Postacie są sortowane według odległości do wybranej postaci.Menu aktualizuje się tylko po otwarciu, a lista dostępnych użytkowników powtórzy się podczas przewijania.

Dodaj opcje menu

Po włączeniu można dodać do ACM akcje specyficzne dla doświadczenia.Na przykład doświadczenie może umożliwiać prośby o wymianę, opcje dodawania do grupy lub inne specjalne interakcje.

Poniższy przykład pokazuje, jak dodać niestandardową akcję do menu kontekstu awatara:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Połącz funkcję z "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- W tym momencie możesz wezwać InvokeServer() na zdalną funkcję, aby ostrzec serwer o wyborze
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Dodaj opcję ACM za pomocą SetCore() z opcją "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Usuń opcje menu

Możesz usunąć niestandardowe i domyślne opcje Dodaj przyjaciela, Czat, Wyświetl i Falę z ACM, odwołując się do niestandardowej nazwy akcji lub domyślnego Enum.AvatarContextMenuOption enumeru.

Użyj następującego kodu, aby usunąć domyślną i niestandardową opcję menu:


-- Usuń opcję "Niestandardowa akcja ACM"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- Usuń domyślną opcję "Przyjaciel" odwołując się do AvatarContextMenuOption.Friend Enum
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Dostosuj wygląd menu

Aby zmienić wygląd menu kontekstowego awatara, wezwij StarterGui:SetCore() z opcją "AvatarContextMenuTheme", dostarczając tabelę parametrów i wartości do dostosowania wyglądu menu.

Interfejs użytkownika ACM obejmuje następujące sekcje:

A. Tag nazwy: nazwa użytkownika postaci, z którą jest interakcja.

B. Ramka przycisków: Zawiera wszystkie przyciski ACM.

C. Przyciski: pojedyncze przyciski dla domyślnych lub niestandardowych działań ACM.

Parametry wyglądu

Są to parametry dostosowania z ACM:

Tło

Kolor tłaA Color3 dla ogólnego tła ACM (najbardziej przydatne, gdy nie używa się obrazu tła).
Przezroczystość tłaWartość przejrzystości (0–1) dla ogólnego tła ACM (najbardziej przydatna, gdy nie używa się obrazu tła).
Obraz tłaPrawidłowy identyfikator zasobu obrazu dla tła ACM.
Przezroczystość obrazu tłaWartość przejrzystości (0–1) dla tła obrazu.
Typ skali obrazu tłaA Enum.ScaleType enum dla skalowania obrazu tła.
Centrum przecięcia obrazu tłaA Rect określający centrum obrazu dziewięciu plastrów, gdy BackgroundImageScaleType jest ustawiony na Enum.ScaleType.Slice.

Tag nazwy

Kolor etykiety nazwyA Color3 dla paska pokazującego, z którym graczem jest interakcja.
Kolor podświetlenia nazwyA Color3 dla cienkiej linii między tagiem nazwy a przyciskami akcji.

Rama przycisków

Kolor ramki przyciskuA Color3 dla sekcji (ramki) zawierającej przyciski akcji.
Przezroczystość ButtonFrameWartość przejrzystości (0–1) dla sekcji ramy przycisku.

Przycisk

Kolor przyciskuA Color3 dla tła przycisków akcji ACM.
Przezroczystość przyciskuWartość przejrzystości (0–1) dla tła kolorów przycisków akcji.
Kolor przewijania przyciskuA Color3 dla stanu "przytrzymywania" przycisków akcji.
Przezroczystość przycisku HoverWartość przejrzystości (0–1) dla koloru "hover" przycisków akcji.
Kolor podświetlenia przyciskuA Color3 dla cienkiej linii, która oddziela każdy przycisk akcji.
Obraz przyciskuPrawidłowy identyfikator zasobu obrazu na tle przycisków.
Typ skali obrazu przyciskuA Enum.ScaleType enum dla skalowania obrazu przycisku.
Przyciskowy obraz środka centrumA Rect określający centrum obrazu dziewięciu plastrów, gdy ButtonImageScaleType jest ustawiony na Enum.ScaleType.Slice.

Tekst

CzcionkaWartość Enum.Font listy wartości dla etykiety nazwy i tekstu przycisku.
Kolor tekstuA Color3 dla całego tekstu w ACM.
Skala tekstuWartość przepływowa do skalowania domyślnych rozmiarów tekstu każdego elementu.

Różne obrazy

Opuść menu obrazuID zasobu obrazu dla przycisku zamknięcia ACM.
Przewiń w lewo obrazID zasobu obrazu dla przycisku "przewiń w lewo" w karuzeli.
Przewiń prawe obrazPrawidłowy identyfikator zasobu obrazu dla przycisku "przewiń w prawo" w karuzeli.

Wybrana postać

Wybrany wskaźnik postaciThe MeshPart które pływają nad głową znaku, aby wskazać, że są wybrane.

Rozmiar i pozycja

RozmiarA UDim2 dla ogólnego rozmiaru ACM.
Minimalny rozmiarA Vector2 określający minimalny rozmiar ACM.
Maksymalny rozmiarA Vector2 określający maksymalny rozmiar ACM.
Proporcja aspektuWartość zmiennej określająca względną szerokość i wysokość ACM.
Punkt zakotwiczeniaThe AnchorPoint z ACM.
Pozycja na ekranieA UDim2 określający pozycję na ekranie ACM (pozycję, w której nastolatek się odzywa, gdy się otwiera).
Pozycja poza ekranemA UDim2 określający pozycję na ekranie ACM (pozycję, z której nastolatki wychodzą/do której wchodzą po otwarciu/zamknięciu).

Przykład dostosowania

Poniższy przykład kodu dostosowuje temat ACM za pomocą kilku podstawowych parametrów:


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
})