Menu Kontekstowe Avatara

*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 Avatarów (ACM) ułatwia użytkownikom wchodzenie w interakcję z sobą. Gdy włączone jest ACM w twoim doświadczeniu, użytkownik może przejść do innego użytkownika's charakteru i kliknąć na niego, aby otworzyć małe menu z kilku domyślnymi opcjami. Gracz może wysłać prośbę o prośba o dodanie do znajomych, rozpocząć pry

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

Włączanie Menu Kontekstu Awatara

Kontekstowy Menu Rozmiarów Aвата musi być włączony używając opcji StarterGui:SetCore() "AvatarContextMenuEnabled" w LocalScript . The ACM jest najlepiej używany w doświadczeniach, w których nie ma wcześniej zdefiniowanego zachowania dla kliknięcia na innych użytkowników.

Użyj poniższego przykładu kodu, aby włączyć ACM w LocalScript :


-- Biegnąć w lokalnym skrypcie, idealnie w "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ć prawdziwy lub fałszywy status ACM:


--Zwraca prawdziwy, jeśli aktywacja jest włączona.
StarterGui:GetCore(AvatarContextMenuEnabled)

Otwieranie i Zamknięcie ACM

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

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


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

Aby zaprogramować zamknięcie ACM, użyj kodu następującego:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opcje menu

Możesz dodawać i usuwać akcje poprzez skryptowanie. Domyślnie menu ma następujące opcje:

Opcja menuOpis
PrzyjacielWysyłuje prośbę o przyjaciela do wybranego użytkownika.
CzatOtwiera prywatną rozmowę z wybranym użytkownikiem w czacie w doświadczeniu.
ZobaczOtwiera okno do sprawdzenia wyglądu wybranego użytkownika.
MachaniePoczątkuje animację fal dla wybranego użytkownika.

Gdy ACM jest otwarty, użytkownik może przewinąć się i wybrać innych użytkowników na charakterze selekcji postaci. Używane są sortowane według odległości od wybranego postaci. Menu jest aktualizowane tylko po otwarciu i lista dostępnych użytkowników zostanie ponownie zaktualizowana po przewinęciu.

Dodawanie opcji menu

Po włączeniu funkcji, które są związane z doświadczeniem, można dodać je do ACM. Na przykład, doświadczenie może umożliwić wnioski o handel, opcje dodawania do grupy lub inne specjalne interakcje.

Poniższy przykład pokazuje, jak dodać niestandardową akcję do Menu Kontekstu Avatara:


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 wejść do InvokeServer() na RemoteFunction, aby poinformować serwer o wyboru
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Dodaj opcję ACM używając SetCore() z "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Usuwanie Opcji Menu

Możesz usunąć opcje dodawania przyjaciół, Czat, widoku i fale z ACM poprzez odniesienie się do ustawionej nazwy działania lub domyślnego Enum.AvatarContextMenuOption menu.

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" poprzez odniesienie się do menu kontekstu AvatarContextMenuFriend
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Personalizacja wyglądu 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 zawiera następujące sekcje:

A. Tag imienia: Imię użytkownika z którego interakcja zostanie wykonana.

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

C. Przyciski: Pojedyncze przyciski dla akcji domyślnych lub niestandardowych ACM.

Parametry wyglądu

Są to parametry personalizacji z ACM:

Tło

Kolor tłaA Color3 dla ogólnego tła ACM (najbardziej użyteczne, gdy nie używa się obrazu tła).
Przezroczystość tłaWartość przejrzystości (0-1) dla ogólnego tła ACM (najbardziej użyteczne, gdy nie używa się obrazu tła).
Obraz tłaPoprawny identyfikator zasobu dla obrazu dla tła ACM.
Przezroczystość TłaWartość przejrzystości (0-1) dla obrazu tła.
Typ skalowania tłaA Enum.ScaleType enum dla skalowania obrazu tła.
Centrum Obrazu TłaA Rect określający środek dziewięciu-rzędowego obrazu, gdy BackgroundImageScaleType jest ustawiony na Enum.ScaleType.Slice .

Tag imienia

Kolor Tagu ImieniaA Color3 dla okienka pokazującego z kim gracz interaguje.
Kolor pod linii imieniaA Color3 dla cienkiej linii między tagiem imienia a przyciskami działania.

Rama przycisku

Kolor ramy przyciskuA Color3 dla sekcji (ramy) zawierające przyciski akcji.
Przezroczystość przyciskuWartość przejrzystości (0-1) dla sekcji przycisku.

Przycisk

KolorPrzyciskuA Color3 dla tła przycisków akcji ACM.
PrzezroczystośćPrzyciskuWartość przejrzystości (0-1) dla koloru tła przycisków akcji.
KolorPrzytrzymywaniaPrzyciskuA Color3 dla stanu „ hover” przycisków akcji.
Przezroczystość przyciskuWartość 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.
Zdjęcie przyciskuPoprawny identyfikator zasobu dla tła przycisków.
Typ skalowania przyciskuA Enum.ScaleType enum dla skalowania obrazu przyciskowego.
Centrum Obrazu PrzyciskowegoA Rect określający środek dziewięciu-rzędowego obrazu, gdy ButtonImageScaleType jest ustawiony na Enum.ScaleType.Slice .

Tekst

CzcionkaA Enum.Font wartość dla tagu imienia i tekstu przycisku.
Kolor tekstuA Color3 dla wszystkiego tekstu w ACM.
Skala tekstowaWartość float do skalowania domyślnych rozmiarów tekstu każdego elementu.

Różne obrazy

Pokaż menuID zasobu dla przycisku zamknięcia dla ACM.
Przesuń lewy obrazID obrazu dla przycisku "zatrzymaj lewo" w karruslu.
Prawy ObrazPoprawny identyfikator zasobu dla przycisku "zatrzymaj prawy" w karruslu.

Wybrany postać

Wybrany znak postaciClass.MeshPart który płynie nad głową postaci, aby zaznaczyć, że został wybrany.

Rozmiar i pozycja

WielkośćA UDim2 dla ogólnego rozmiaru ACM.
Minimalny rozmiarA Vector2 określający minimalny rozmiar ACM.
Maksymalny rozmiarA Vector2 określający maksymalny rozmiar ACM.
Stosunek aspektuWartość float określająca względne szerokość i wysokość ACM.
Punkt AnchoraClass.GuiObject.AnchorPoint|AnchorPoint ACM.
Pozycja na ekranieA UDim2 określający pozycję na ekranie ACM (pozycję, w której następuje jej zmiana, gdy jest otwarta).
Pozycja poza ekranemA UDim2 określający pozycję poza ekranem ACM (pozycję, w której następuje przesunięcie/zamknięcie, gdy otwarty/zamknięty).

Dostosowanie przykładu

Poniższy kod przykładowy dostosowuje motyw ACM używając 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
})