Menu contextuel d'avatar

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Le menu contextuel Avatar (ACM) facilite l'interaction des utilisateurs les uns avec les autres.Lorsque l'ACM est activé dans votre expérience, un utilisateur peut se rendre jusqu'au personnage d'un autre utilisateur et cliquer dessus pour ouvrir un petit menu avec plusieurs options par défaut.Le joueur peut envoyer une demande d'ami, commencer une conversation privée, afficher le profil de l'utilisateur ou saluer.

Après l'activation de l'ACM dans votre expérience, vous pouvez personnaliser l'ACM des façons suivantes :

Activer le menu contextuel d'avatar

Le menu contextuel d'avatar doit être activé en utilisant l'option StarterGui:SetCore() "AvatarContextMenuEnabled" dans un LocalScript.L'ACM est le mieux utilisé dans des expériences où il n'y a pas de comportement prédéfini pour cliquer sur d'autres utilisateurs.

Utilisez l'exemple de code suivant pour activer l'ACM dans un LocalScript :


-- Exécution dans un script local, idéalement dans "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Si vous devez détecter si l'ACM est activé, vous pouvez utiliser le code suivant pour retourner un booléen sur l'état actuel de l'ACM :


--Retourne un booléen indiquant si l'ACM est actuellement activé.
StarterGui:GetCore(AvatarContextMenuEnabled)

Ouvrir et fermer l'ACM

Une fois activé, vous pouvez ouvrir et fermer le programme ACM de manière programmatique avec StarterGui .

Pour ouvrir l'ACM de manière programmatique, utilisez le code suivant :


-- Utiliser StarterGui : SetCore où le joueur cible est un objet valide de joueur
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Pour fermer l'ACM de manière programmatique, utilisez le code suivant :


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Options de menu

Vous pouvez ajouter et supprimer des actions via le scripting. Par défaut, le menu a les options suivantes :

Option du menuAvertissement
AmiEnvoie une demande d'ami à l'utilisateur sélectionné.
chatOuvre une conversation privée avec l'utilisateur sélectionné dans le chat en expérience.
AfficherOuvre une fenêtre pour inspecter l'apparence de l'utilisateur sélectionné.
VagueLance une animation de vague à l'utilisateur sélectionné.

Une fois l'ACM ouvert, l'utilisateur peut faire défiler et sélectionner d'autres utilisateurs dans la galerie de sélection de caractères.Les caractères sont triés en fonction de la distance par rapport au caractère sélectionné.Le menu ne se met à jour que lorsqu'il est ouvert et la liste des utilisateurs disponibles se répétera lors du défilement.

Ajouter des options de menu

Une fois activé, des actions spécifiques à l'expérience peuvent être ajoutées à l'ACM.Par exemple, une expérience peut permettre des demandes d'échange, des options de groupe ou d'autres interactions spéciales.

L'exemple suivant montre comment ajouter une action personnalisée au menu contextuel de l'avatar :


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Relier une fonction à un "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- À ce stade, vous pouvez appeler InvokeServer() sur une fonction à distance pour alerter le serveur de la sélection
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Ajoutez l'option ACM en utilisant SetCore() avec "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Supprimer les options de menu

Vous pouvez supprimer les options personnalisées et par défaut d'ajout d'amis, de chat, de vue et de vague de l'ACM en référençant le nom d'action personnalisé ou l'ENUM par défaut Enum.AvatarContextMenuOption.

Utilisez le code suivant pour supprimer une option de menu par défaut et personnalisé :


-- Supprimer l'option "Action ACM personnalisée"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- Supprimez l'option par défaut "Ami" en référençant l'option AvatarContextMenuOption.Friend Enum
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Personnaliser l'apparence du menu

Pour modifier l'apparence du menu contextuel de l'avatar, appelez StarterGui:SetCore() avec l'option « AvatarContextMenuTheme », en fournissant une table de paramètres et de valeurs pour ajuster l'apparence du menu.

L'interface utilisateur ACM comprend les sections suivantes :

A. Étiquette de nom : le nom d'utilisateur du personnage avec lequel on interagit.

B. Cadre de bouton : Contient tous les boutons ACM.

C. Boutons : Boutons individuels pour les actions ACM par défaut ou personnalisées.

Paramètres d'apparence

Ce sont les paramètres de personnalisation avec l'ACM :

Arrière-plan

Couleur de fondUn Color3 pour l'arrière-plan global de l'ACM (le plus utile lorsqu'on n'utilise pas une image de fond).
Transparence du fondValeur de transparence (0–1) pour l'arrière-plan global de l'ACM (la plus utile lorsqu'on n'utilise pas une image de fond).
Image de fondUn ID de ressource valide d'une image pour le fond ACM.
Transparence de l'image de fondValeur de transparence (0–1) pour l'image de fond.
Type d'échelle d'image de fondUn Enum.ScaleType enum pour la mise à l'échelle de l'image de fond.
Centre d'image de fondUn Rect spécifiant le centre d'une image à neuf tranches lorsque BackgroundImageScaleType est défini sur Enum.ScaleType.Slice.

Balise de nom

Nom de la couleur de la baliseUn Color3 pour la barre montrant avec quel joueur interagir.
NomUnderlineColor couleurUn Color3 pour la ligne fine entre la balise de nom et les boutons d'action.

Cadre de bouton

Couleur du cadre de boutonUn Color3 pour la section (cadre) contenant les boutons d'action.
Transparence du cadre de boutonValeur de transparence (0–1) pour la section cadre de bouton.

Bouton

Couleur du boutonUn Color3 pour le fond des boutons d'action de l'ACM.
Transparence des boutonsValeur de transparence (0–1) pour la couleur de fond des boutons d'action.
Couleur d'évocation du boutonUn Color3 pour l'état "survoler" des boutons d'action.
Transparence du survol du boutonValeur de transparence (0–1) pour la couleur « survoler» des boutons d'action.
Couleur d'accrochage du boutonUn Color3 pour la ligne fine qui sépare chaque bouton d'action.
Image de boutonUn ID de ressource valide d'une image pour le fond des boutons.
Type d'échelle d'image boutonUn Enum.ScaleType enum pour la mise à l'échelle de l'image du bouton.
ButtonImageSliceCenterUn Rect spécifiant le centre d'une image à neuf tranches lorsque ButtonImageScaleType est défini sur Enum.ScaleType.Slice .

Texte

PoliceUne valeur d'enumérité Enum.Font pour la balise de nom et le texte du bouton.
Couleur du texteUn Color3 pour tout le texte dans l'ACM.
Échelle de texteUne valeur flottante pour mettre à l'échelle les tailles de texte par défaut de chaque élément.

Image variée

Quitter l'image du menuUn ID de ressource d'une image pour le bouton de fermeture de l'ACM.
Image défilement gaucheUn ID de ressource d'une image pour le bouton "défilement vers la gauche" du carrousel.
Image de défilement droitUn ID de ressource valide d'une image pour le bouton "défilement à droite" du carrousel.

Personnage sélectionné

Indicateur de caractère sélectionnéLe MeshPart qui flotte au-dessus de la tête d'un caractère pour indiquer qu'il est sélectionné.

Taille et position

TailleUn UDim2 pour la taille globale de l'ACM.
Taille minimaleUn Vector2 précisant la taille minimale de l'ACM.
Taille maximaleUn Vector2 précisant la taille maximale de l'ACM.
Ration d'aspectUne valeur flottante spécifiant la largeur et la hauteur relatives de l'ACM.
Point d'ancrageLe AnchorPoint de l'ACM.
Position sur l'écranUn UDim2 précisant la position sur l'écran de l'ACM (la position où il tweens lorsqu'il est ouvert).
Position hors écranUn UDim2 précisant la position hors écran de l'ACM (la position où il tweens de/à lorsqu'il est ouvert/fermé).

Personnalisation d'exemple

L'exemple de code suivant personnalise le thème ACM en utilisant quelques paramètres de base :


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