Menu di contesto dell'avatar

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Il Menu di contesto dell'avatar (ACM) rende più facile per gli utenti interagire tra di loro. Quando l'ACM è attivato nel tuo gioco, un utente può avvicinarsi al personaggio di un altro utente e cliccarci sopra per aprire un piccolo menu con diverse opzioni predefinite. Il giocatore può inviare una richiesta di amicizia, iniziare una chat privata, visualizzare il profilo dell'utente o salutare.

Dopo aver attivato l'ACM nel tuo gioco, puoi personalizzare l'ACM nei seguenti modi:

Abilitare il menu di contesto dell'avatar

Il menu di contesto dell'avatar deve essere abilitato utilizzando l'opzione StarterGui:SetCore() "AvatarContextMenuEnabled" in un LocalScript. L'ACM è meglio utilizzato in giochi dove non è prevista una funzione predefinita per cliccare su altri utenti.

Utilizza il seguente esempio di codice per abilitare l'ACM in un LocalScript:


-- Esegui in un LocalScript, idealmente all'interno di "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Se hai bisogno di rilevare se l'ACM è abilitato, puoi utilizzare il seguente codice per restituire un booleano sullo stato attuale dell'ACM:


---Restituisce un booleano che indica se l'ACM è attualmente abilitato.
StarterGui:GetCore(AvatarContextMenuEnabled)

Aprire e chiudere l'ACM

Una volta abilitato, puoi aprire e chiudere l'ACM programmaticamente con StarterGui.

Per aprire programmaticamente l'ACM, utilizza il seguente codice:


-- Usa StarterGui:SetCore dove targetPlayer è un oggetto Player valido
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Per chiudere programmaticamente l'ACM, utilizza il seguente codice:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opzioni del menu

Puoi aggiungere e rimuovere azioni tramite scripting. Per impostazione predefinita, il menu ha le seguenti opzioni:

Opzione del menuDescrizione
AmicoInvia una richiesta di amicizia all'utente selezionato.
ChatApri una conversazione privata con l'utente selezionato nella chat di gioco.
VisualizzaApri una finestra per ispezionare l'aspetto dell'utente selezionato.
SalutaInizia un'animazione di saluto verso l'utente selezionato.

Una volta aperto l'ACM, l'utente può scorrere e selezionare altri utenti nel carosello di selezione dei personaggi. I personaggi sono ordinati in base alla distanza dal personaggio selezionato. Il menu si aggiorna solo quando aperto e l'elenco degli utenti disponibili si ripeterà durante lo scorrimento.

Aggiungere opzioni al menu

Una volta abilitato, azioni specifiche del gioco possono essere aggiunte all'ACM. Ad esempio, un gioco potrebbe consentire richieste di scambio, opzioni per aggiungere a un gruppo, o altre interazioni speciali.

Il seguente esempio mostra come aggiungere un'azione personalizzata al menu di contesto dell'avatar:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Collega una funzione a un "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- A questo punto, potresti chiamare InvokeServer() su un RemoteFunction per avvisare il server della selezione
print("Evento ACM selezionato da " .. player.Name .. " su " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Aggiungi l'opzione ACM utilizzando SetCore() con "AddAvatarContextMenuOption"
local options = {"Azione ACM personalizzata", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Rimuovere opzioni dal menu

Puoi rimuovere opzioni personalizzate e le opzioni predefinite Amico, Chat, Visualizza e Saluta dall'ACM facendo riferimento al nome dell'azione personalizzata o all'enum Enum.AvatarContextMenuOption predefinito.

Utilizza il seguente codice per rimuovere un'opzione di menu predefinita e personalizzata:


-- Rimuovi l'opzione "Azione ACM personalizzata"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Azione ACM personalizzata")
-- Rimuovi l'opzione predefinita "Amico" facendo riferimento all'enum AvatarContextMenuOption.Friend
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Personalizzare l'aspetto del menu

Per cambiare l'aspetto del menu di contesto dell'avatar, chiama StarterGui:SetCore() con l'opzione "AvatarContextMenuTheme", fornendo una tabella di parametri e valori per regolare l'aspetto del menu.

L'interfaccia utente dell'ACM include le seguenti sezioni:

A. Etichetta del nome: Il nome dell'utente del personaggio con cui si sta interagendo.

B. Cornice del pulsante: Contiene tutti i pulsanti dell'ACM.

C. Pulsanti: Pulsanti individuali per le azioni ACM predefinite o personalizzate.

Parametri di aspetto

Questi sono i parametri di personalizzazione dell'ACM:

Sfondo

BackgroundColorUn Color3 per lo sfondo generale dell'ACM (più utile quando non si utilizza un'immagine di sfondo).
BackgroundTransparencyValore di trasparenza (0–1) per lo sfondo generale dell'ACM (più utile quando non si utilizza un'immagine di sfondo).
BackgroundImageUn ID asset valido di un'immagine per lo sfondo dell'ACM.
BackgroundImageTransparencyValore di trasparenza (0–1) per l'immagine di sfondo.
BackgroundImageScaleTypeUn enum Enum.ScaleType per il ridimensionamento dell'immagine di sfondo.
BackgroundImageSliceCenterUn Rect che specifica il centro di un'immagine a nove fette quando BackgroundImageScaleType è impostato su Enum.ScaleType.Slice.

Etichetta del nome

NameTagColorUn Color3 per la barra che mostra quale giocatore viene interagito.
NameUnderlineColorUn Color3 per la linea sottile tra l'etichetta del nome e i pulsanti di azione.

Cornice del pulsante

ButtonFrameColorUn Color3 per la sezione (cornice) contenente i pulsanti di azione.
ButtonFrameTransparencyValore di trasparenza (0–1) per la sezione della cornice del pulsante.

Pulsante

ButtonColorUn Color3 per lo sfondo dei pulsanti di azione dell'ACM.
ButtonTransparencyValore di trasparenza (0–1) per il colore di sfondo dei pulsanti di azione.
ButtonHoverColorUn Color3 per lo stato di "hover" dei pulsanti di azione.
ButtonHoverTransparencyValore di trasparenza (0–1) per il colore di "hover" dei pulsanti di azione.
ButtonUnderlineColorUn Color3 per la linea sottile che separa ciascun pulsante di azione.
ButtonImageUn ID asset valido di un'immagine per lo sfondo dei pulsanti.
ButtonImageScaleTypeUn enum Enum.ScaleType per il ridimensionamento dell'immagine del pulsante.
ButtonImageSliceCenterUn Rect che specifica il centro di un'immagine a nove fette quando ButtonImageScaleType è impostato su Enum.ScaleType.Slice.

Testo

FontUn valore enum Enum.Font per l'etichetta del nome e il testo dei pulsanti.
TextColorUn Color3 per tutto il testo all'interno dell'ACM.
TextScaleUn valore float per scalare le dimensioni del testo predefinite di ciascun elemento.

Varie immagini

LeaveMenuImageUn ID asset di un'immagine per il pulsante di chiusura dell'ACM.
ScrollLeftImageUn ID asset di un'immagine per il pulsante "scorri a sinistra" del carosello.
ScrollRightImageUn ID asset valido di un'immagine per il pulsante "scorri a destra" del carosello.

Personaggio selezionato

SelectedCharacterIndicatorIl MeshPart che fluttua sopra la testa di un personaggio per indicare che è selezionato.

Dimensioni e posizione

SizeUn UDim2 per la dimensione complessiva dell'ACM.
MinSizeUn Vector2 che specifica la dimensione minima dell'ACM.
MaxSizeUn Vector2 che specifica la dimensione massima dell'ACM.
AspectRatioUn valore float che specifica la larghezza e l'altezza relative dell'ACM.
AnchorPointIl AnchorPoint dell'ACM.
OnScreenPositionUn UDim2 che specifica la posizione dell'ACM sullo schermo (la posizione verso cui transita quando aperto).
OffScreenPositionUn UDim2 che specifica la posizione fuori dallo schermo dell'ACM (la posizione da cui transita quando aperto/chiuso).

Esempio di personalizzazione

Il seguente esempio di codice personalizza il tema dell'ACM utilizzando alcuni parametri di 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
})
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.