Menù contestuale dell'avatar

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

Il Menù contestuale dell'Avatar (ACM) rende più facile per gli utenti interagire tra loro.Quando l'ACM è abilitato nella tua esperienza, un utente può camminare fino al personaggio di un altro utente e cliccarci per aprire un piccolo menu con diverse opzioni predefinite.Il giocatore può inviare una Richiestadi amicizia, iniziare una chat privata, visualizzare il Profilodell'utente o salutare.

Dopo attivando l'ACM nella tua esperienza, puoi personalizzare l'ACM nei seguenti modi:

Abilita il menu contestuale dell'avatar

Il menu contestuale Avatar deve essere abilitato utilizzando l'opzione StarterGui:SetCore() "AvatarContextMenuEnabled" in un LocalScript .L'ACM è migliore utilizzato in esperienze in cui non esiste un comportamento predefinito per fare clic su altri utenti.

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


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

Se devi determinare se l'ACM è abilitato, puoi usare il seguente codice per restituire un boolean sul stato attuale dell'ACM:


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

Apri e chiudi l'ACM

Una volta abilitato, puoi aprire e chiudere il programma ACM in modo programmatico con StarterGui .

Per aprire il ACM in modo programmatico, usa il seguente codice:


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

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


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opzioni menu

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

Opzione menuDescrizione
AmicoInvia una richiesta di amicizia all'utente selezionato.
ChatApre una conversazione privata con l'utente selezionato nella chat in-experience.
VisualizzaApre una finestra per ispezionare l'aspetto dell'utente selezionato.
OndaInizia un'animazione di onda per l'utente selezionato.

Una volta che l'ACM è aperto, l'utente può scorrere e selezionare altri utenti nella selezione del personaggio.I personaggi vengono ordinati in base alla distanza dal personaggio selezionato.Il menu si aggiorna solo quando viene aperto e l'elenco degli utenti disponibili si ripeterà quando si scorre.

Aggiungi opzioni menu

Una volta abilitato, le azioni specifiche per l'esperienza possono essere aggiunte all'ACM.Ad esempio, un'esperienza potrebbe consentire richieste di scambio, opzioni di aggiunta alla parte o altre interazioni speciali.

L'esempio seguente mostra come aggiungere un'azione personalizzata al menu contestuale 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, puoi chiamare InvokeServer() su una RemoteFunction per avvisare il server della selezione
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Aggiungi l'opzione ACM utilizzando SetCore() con "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Rimuovi le opzioni del menu

Puoi rimuovere le opzioni personalizzate e predefinite di Aggiungi amico, Chat, Visualizza e Onda dalla ACM facendo riferimento al nome azione personalizzata o all'enumero predefinito Enum.AvatarContextMenuOption.

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


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

Personalizza l'aspetto del menu

Per modificare l'aspetto del menu contestuale 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 ACM include le seguenti sezioni:

A. Etichetta di nome: il nome utente del personaggio con cui si interagisce.

B. Frame dei pulsanti: contiene tutti i pulsanti ACM.

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

Parametri dell'aspetto

Questi sono i parametri di personalizzazione con l'ACM:

Sfondo

Colore di sfondoUn Color3 per lo sfondo generale dell'ACM (più utile quando non si utilizza un'immagine di sfondo).
Trasparenza di fondoValore di trasparenza (0–1) per lo sfondo generale dell'ACM (più utile quando non si utilizza un'immagine di sfondo).
Immagine di backgroundUn ID risorsa valido di un'immagine per lo sfondo ACM.
Trasparenza dell'immagine di backgroundValore di trasparenza (0–1) per l'immagine di sfondo.
Tipo di scala dell'immagine di sfondoUn Enum.ScaleType elenco per la ridimensionamento dell'immagine di sfondo.
Centro di immagine di sfondoUn Rect specificare il centro di un'immagine a nove strati quando BackgroundImageScaleType è impostato su Enum.ScaleType.Slice .

Tag di nome

ColorTagNomeUn Color3 per la barra che mostra quale giocatore è stato interagito.
NomeUnderlineColorUn Color3 per la linea sottile tra il tag di nome e i pulsanti di azione.

Frame del pulsante

ButtonFrameColorUn Color3 per la sezione (frame) che contiene i pulsanti di azione.
Trasparenza del ButtonFrameValore di trasparenza (0–1) per la sezione del frame del pulsante.

Pulsante

Colore del pulsanteUn Color3 per lo sfondo dei pulsanti d'azione dell'ACM.
Trasparenza pulsanteValore di trasparenza (0–1) per il colore di sfondo dei pulsanti d'azione.
Colore di passaggio del pulsanteUn Color3 per lo stato "sorvolare" dei pulsanti d'azione.
Trasparenza del Passaggio del PulsanteValore di trasparenza (0–1) per il colore "sorvolare" dei pulsanti di azione.
Colore Sottolineatura PulsanteUn Color3 per la linea sottile che separa ogni pulsante di azione.
ButtonImageUn ID risorsa valido di un'immagine per lo sfondo dei pulsanti.
Tipo di scala dell'immagine del pulsanteUn Enum.ScaleType elenco per la ridimensionamento dell'immagine del pulsante.
ButtonImageSliceCentroUn Rect specificare il centro di un'immagine a nove fette quando ButtonImageScaleType è impostato su Enum.ScaleType.Slice .

Testo

CarattereUn valore enum Enum.Font per il tag del nome e il testo del pulsante.
Colore del testoUn Color3 per tutto il testo all'interno dell'ACM.
Scala del testoUn valore di galleggiante per ridimensionare le dimensioni del testo predefinite di ciascun elemento.

Immagine varia

LasciaMenuImageUn ID risorsa di un'immagine per il pulsante di chiusura ACM.
Immagine di scorrimento sinistraUn ID risorsa di un'immagine per il pulsante "scroll left" della carousel.
Immagine di scorrimento destraUn ID risorsa valido di un'immagine per il pulsante "scroll right" della carousel.

Personaggio selezionato

Indicatore di carattere selezionatoIl MeshPart che fluttua sopra la testa di un personaggio per indicare che sono selezionati.

Dimensione e posizione

DimensioniUn UDim2 per la dimensione complessiva dell'ACM.
MinDimensioneUn Vector2 che specifica la dimensione minima dell'ACM.
Size MassimoUn Vector2 che specifica la dimensione massima dell'ACM.
Rapporto AspectoUn valore galleggiante che specifica la larghezza e l'altezza relative dell'ACM.
Punto di ancoraggioIl AnchorPoint dell'ACM.
Posizione sullo schermoUn UDim2 che specifica la posizione sullo schermo dell'ACM (la posizione in cui si tweens quando viene aperto).
Posizione dello schermo offUn UDim2 che specifica la posizione off-screen dell'ACM (la posizione in cui si tweens da/a quando aperto/chiudi).

Personalizzazione di esempio

Il seguente esempio di codice personalizza il tema 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
})