Avatar Kontextmenü

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Das Avatar-Kontextmenü (ACM) macht es einfacher für Benutzer, miteinander zu interagieren. Wenn das ACM in deiner Erlebnisaktiviert ist, kann ein Benutzer bis zu einem anderen Benutzer gehen und auf ihn klicken, um ein kleines Menü mit mehreren Standardoptionen zu öffnen. Der Spieler kann eine Anfragesenden, einen privaten Chat beginnen oder das Profilanzeigen oder auf Welle.

Nachdem du den ACM in deiner Erlebnisaktiviert hast, kannst du den ACM wie folgt anpassen:

Aktivierung des Avatar-Kontextmenüs

Das Avatar-Kontextmenü muss mit der Option StarterGui:SetCore() aktiviert werden, die in einem LocalScript den ACM am besten verwendet wird.

Verwenden Sie das folgende Codebeispiel, um die ACM in einem LocalScript zu aktivieren:


-- Lauf in einem lokalen Skript, idealerweise innerhalb von "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Wenn Sie überprüfen müssen, ob die ACM aktiviert ist, können Sie den folgenden Code verwenden, um eineBoolean auf dem aktuellen Status der ACM zurückzugeben:


--– gibt zurück, ob die ACM aktuell aktiviert ist.
StarterGui:GetCore(AvatarContextMenuEnabled)

Eröffnen und Schließen des ACM

Sobald aktiviert, kannst du das ACM-Programm mit StarterGui programmieren öffnen und schließen.

Um das ACM programmmatisch zu öffnen, verwenden Sie den folgenden Codes:


-- Verwenden Sie StarterGui:SetCore, wenn targetPlayer ein gültiges Objektist
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Um das ACM programmierungsgemäß zu schließen, verwenden Sie den folgenden Codes:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Menüoptionen

Du kannst Hinzufügen und Entfernen Aktionen durch Scriptinghinzufügen. Standardmäßig hat das Menü die folgenden Optionen:

MenüoptionBeschreibung
FreundSendet eine Freundesanfrage an den ausgewählten Benutzer.
ChattenÖffnet eine private Konversation mit dem ausgewählten Benutzer im In-Experience-Chat.
AnzeigenÖffnet ein Fenster, um die Aussehen des ausgewählten Benutzers zu inspizieren.
WelleStartet eine Welle-Animation für den ausgewählten Benutzer.

Sobald der ACM geöffnet ist, kann der Benutzer die Charaktere auswählen und andere Benutzer auf der Charakterauswahl-Karussell. Die Charaktere werden basierend auf der Entfernung zum ausgewählten Charakter sortiert. Das Menü wird nur aktualisiert, wenn es geöffnet ist, und die Liste der verfügbaren Benutzer wird beim Scrollen wiederholt.

Menüoptionen hinzufügen

Nach dem Aktivieren können Erlebnisse spezifische Aktionen dem ACM hinzugefügt werden. Zum Beispiel kann ein Erlebnis Anfragen für den Handel, Add-to-Party-Optionen oder andere Spezialinteraktionen ermöglichen.

Das folgende Beispiel zeigt, wie Sie einen benutzerdefinierten Aktion hinzufügen zum Avatar Kontext Menü:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Verbinden Sie eine Funktion mit einem "Bindbaren Ereignis"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- An diesem Punkt könnte Sie InvokeServer() auf eine RemoteFunction aufrufen, um den Server der Auswahl zu alarmieren
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Füge die ACM-Option mit SetCore() mit "AddAvatarContextMenuOption" hinzu
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Menüoptionen entfernen

Du kannst benutzerdefinierte und Standard-Freund, Chat, Ansicht und Welle-Optionen vom ACM entfernen, indem du auf den benutzerdefinierten Aktionsnamen oder das Standard- Enum.AvatarContextMenuOption -Ensemble verweist.

Verwenden Sie den folgenden Code, um eine Standard- und Benutzerdefinierungsmenüoption zu entfernen:


-- Entferne die Option "Benutzerdefinierte Aktionen"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- Entferne die Standardoption "Freund" durch Verweis auf die AvatarContextMenuOption.Friend Enum
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Menü-Erscheinung anpassen

Um das Aussehen des Avatar-Kontextmenüs zu ändern, rufen Sie StarterGui:SetCore() mit der Option "AvatarContextMenuTheme" auf, mit der Sie eine Tabelle von Parametern und Werten bereitstellen, um die Menü-Ansicht anzupassen.

Die Benutzeroberfläche des ACM enthält die folgenden Abschnitte:

A. Namens-Tag: Der Nutzername des Charakters, mit dem interagiert wird.

B. Button-Rahmen: Enthält alle ACM-Schaltflächen.

C. Buttons: Einzelne Schaltflächen für Standard- oder Benutzerdefinierte Aktionen.

Ausse参数

Dies sind die Anpassungsparameter mit dem ACM:

Hintergrund

HintergrundfarbeEin Color3 für den Gesamten Hintergrund des ACM (am nützlichsten, wenn Sie keine Hintergrundbild verwenden).
Hintergrund-TransparenzTransparenzwert (0–1) für den Gesamten Hintergrund der ACM (nützlichste, wenn keine Hintergrundbild verwendet wird).
HintergrundbildEine gültige Asset-ID eines Bildes für den ACM-Hintergrund.
HintergrundbildTransparenzTransparenzwert (0–1) für das Hintergrundbild.
Hintergrundbild-SkalierungstypEin Enum.ScaleType Enumer für die Hintergrundbildskalierung.
Hintergrundbild-SchlitzEin Rect Spezifizieren Sie die Mitte eines neun-Slice-Bildes, wenn BackgroundImageScaleType auf Enum.ScaleType.Slice eingestellt ist.

Namensschild

NamensschildfarbeEin Color3 für die Leiste, die zeigt, mit welchem Spieler interagiert wird.
NameUnderlineFarbeEine Color3 für die dünne Linie zwischen dem Namens-Tag und den Aktions-Buttons.

Button-Rahmen

Button-FarbeEin Color3 für den Abschnitt (Rahmen), der die Aktionsschaltflächen enthält.
ButtonFrameTransparenzTransparenzwert (0–1) für die Schaltflächen-Rastereinheit.

Taste

ButtonFarbeEin Color3 für die Hintergrundfarbe der Aktionstasten der ACM.
ButtonTransparenzTransparenzwert (0–1) für die Hintergrundfarbe der Aktionsschaltflächen.
ButtonHoverFarbeEin Color3 für den " Hover-Nachricht"-Status der Aktions按钮.
ButtonHoverTransparenzTransparenzwert (0–1) für die " Hover-Nachricht"-Farbe der Schaltflächen.
Button-UmrissfarbeEin Color3 für die dünne Linie, die jeden Aktions-Button trennt.
Button-BildEine gültige Asset-ID eines Bildes für die Hintergrundfarbe der Schaltflächen.
Button-Bild-SkalierungstypEin Enum.ScaleType Enumer für die Bildskalierung von Schaltflächen.
ButtonImageSliceZentrumEin Rect Spezifizieren Sie die Mitte eines neun-Slice-Bildes, wenn ButtonImageScaleType auf Enum.ScaleType.Slice eingestellt ist.

Text

FontEin Enum.Font Enumerie-Wert für den Namens-Tag und den Button-Text.
TextFarbeEin Color3 für den gesamten Text innerhalb des ACM.
Text skalierenEin schwimmender Wert, mit dem die Standard-Textgrößen jedes Elements skaliert werden.

Verschiedene Bilder

Menübild verlassenEine Asset-ID eines Bildes für die ACM-Schaltfläche "Schließen".
Scroll左图像Eine Asset-ID eines Bildes für die Karussell-Schaltfläche "Links scrollen".
Rechts scrollenEine gültige Asset-ID eines Bildes für die Karussell-Rechts-Schaltfläche.

Ausgewählter Charakter

Ausgewählte Zeichen-IndikatorDas MeshPart, das über dem Kopf eines Charakters schwebt, um anzuzeigen, dass sie ausgewählt sind.

Größe und Position

GrößeEin UDim2 für die Gesamtwohnunggröße des ACM.
MinGrößeEin Vector2 Spezifikation der minimalen Größe des ACM.
MaxGrößeEin Vector2 Spezifikation der maximalen Größe des ACM.
AspektverhältnisEin schwimmender Wert, der die relative Breite und Höhe des ACM angeben.
AnkerpunktDer AnchorPoint der ACM.
Auf-Display-PositionEin UDim2 Spezifiziert die Position auf dem Bildschirm des ACM (die Position, in der er sich zu öffnen anpasst).
OffScreenPositionEin UDim2 Spezifikation der Off-Screen-Position des ACM (die Position, in der er vom/zu wenn er geschlossen wird).

Beispielanpassung

Das folgende Codebeispiel personalisiert das ACM-Thema mit einigen grundlegenden Parametern:


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