The Avatar Context Menüsü (ACM) kullanıcıların birbirleriyle etkileşim kurmasını kolaylaştırır.ACM deneyiminizde etkinleştirildiğinde, bir kullanıcı başka bir kullanıcının karakterine yürüyebilir ve birkaç varsayılan seçenekle küçük bir menü açmak için onlara tıklayabilir.Oyuncu bir arkadaşlık talepgönderebilir, özel bir sohbet başlatabilir, kullanıcının profilini veya dalgalarını görebilir.
deneyiminizde ACM'yi etkinleştirdikten sonra, ACM'yi aşağıdaki şekillerde özelleştirebilirsiniz:
- Programatik olarak özel kullanıcılar için ACM'yi açın ve kapatın.
- ACM görünümünü özelleştirin benzersiz bir kullanıcı arayüzü oluşturmak için.
Avatar Bağlantı Menüsü Etkinleştir
Avatar İçerik Menüsü, StarterGui:SetCore() seçeneği "AvatarContextMenuEnabled" kullanılarak bir LocalScript içinde etkinleştirilmelidir.ACM, diğer kullanıcılara tıklamak için önceden tanımlanmış bir davranış olmadığı deneyimlerde en iyi şekilde kullanılır.
ACM'yi bir LocalScript 'de etkinleştirmek için aşağıdaki kod örneğini kullanın:
-- Yerel bir Scriptte çalış, ideal olarak "StarterPlayerScriptleri" içindelocal StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
ACM'nin etkin olup olmadığını tespit etmeniz gerekiyorsa, ACM'nin mevcut durumunda bir boolean döndürmek için aşağıdaki kodu kullanabilirsiniz:
--ACM'nin şu anda etkin olup olmadığını gösteren bir boolean döndürür.StarterGui:GetCore(AvatarContextMenuEnabled)
ACM'yi aç ve kapat
Bir kez etkinleştirildikten sonra, ACM programını StarterGui ile otomatik olarak açıp kapatabilirsiniz.
ACM'yi programatik olarak açmak için aşağıdaki kodu kullanın:
-- StarterGui'yi kullan: Hedef oyuncu geçerli bir Oyun nesnesi olduğunda SetCore'u kullanStarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)
ACM'yi programatik olarak kapatmak için aşağıdaki kodu kullanın:
StarterGui:SetCore("AvatarContextMenuTarget", nil)
Menü seçenekleri
Senaryo aracılığıyla ekleyebilirsiniz ve kaldırabilirsiniz eylemleri. Varsayılan olarak, menüde aşağıdaki seçenekler bulunur:
Menü seçeneği | Açıklama |
---|---|
Arkadaş | Seçilen kullanıcıya bir arkadaş isteği gönderir. |
Sohbet | Deneyim içi sohbette seçilen kullanıcıyla özel bir konuşma açar. |
Görüş | Seçili kullanıcının görünümünü incelemek için bir pencere açar. |
Dalgalanma | Seçilen kullanıcıya bir dalga animasyonu başlatır. |
ACM açıldıktan sonra, kullanıcı karakter seçim kaydırağında diğer kullanıcıları kaydırıp seçebilir.Karakterler, seçilen karaktere olan mesafeye göre sıralanır.Menü yalnızca açıldığında güncellenir ve mevcut kullanıcıların listesi kaydırırken tekrarlanır.

Menü seçenekleri ekleyin
Bir kez etkinleştirildikten sonra, deneyimle ilgili eylemler ACM'ye eklenebilir.Örneğin, bir deneyim ticaret isteklerine, partiye ek seçeneklere veya diğer özel etkileşimlere izin verebilir.
Aşağıdaki örnek, Avatar'ın Konteks Menüsüne özel bir eylem nasıl eklenebileceğini gösterir:
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Bir işlevi "BindableEvent"ye bağla
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- Bu noktada, sunucuyu seçim konusunda uyarmak için RemoteFunction'a InvokeServer() çağırabilirsiniz
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- SetCore() kullanarak ACM seçeneğini "AddAvatarContextMenuOption" ile ekleyin
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)
Menü seçeneklerini kaldır
Özel ve varsayılan Arkadaş Ekle, Sohbet, Görüntüle ve Dalga seçeneklerini ACM'den kaldırabilirsiniz, özel Eylem adına veya varsayılan Enum.AvatarContextMenuOption enum'e referans vererek.
Varsayılan ve özel bir menü seçeneğini kaldırmak için aşağıdaki kodu kullanın:
-- “Özel ACM Eylemi” seçeneğini kaldırStarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- AvatarContextMenuOption.Friend Enum referansıyla varsayılan "Arkadaş" seçeneğini kaldırStarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
Menü görünümünü özelleştir
Avatar Konteks Menüsü'nün görünümünü değiştirmek için, StarterGui:SetCore() seçeneği ile çağırın "AvatarContextMenuTheme", menü görünümünü ayarlamak için bir tablo veren bir dizi parametre ve değer sağlayın.
ACM kullanıcı arayüzü aşağıdaki bölümleri içerir:

A. İsim Etiketi: Etkileşime geçilen karakterin kullanıcı adı.
B. Düğme Çerçevesi: Tüm ACM düğmelerini içerir.
C. Düğmeler: Varsayılan veya özel ACM eylemleri için bireysel düğmeler.
Görünüm parametleri
Bunlar ACM ile özelleştirme parametleridir:
Arka Plan
Arka Plan Rengi | ACM'nin genel arka planı için bir Color3 (arka plan görüntüsü kullanılmıyor olduğunda en yararlı). |
Arka Plan Saydamlığı | ACM'nin genel arka planı için saydamlık değeri (0-1) (arka plan görüntüsü kullanılmıyor olduğunda en yararlıdır). |
Arka Plan Resmi | ACM arka planı için bir görüntünün geçerli bir varlık kimliği. |
Arka plan resmi saydamlığı | Arka plan görüntüsü için saydamlık değeri (0-1). |
Arka plan görüntü ölçek tipi | Arka plan görüntü ölçeklendirmesi için bir Enum.ScaleType dizi. |
Arka Plan Görüntü Dilimi Merkezi | Arka plan görüntü ölçeği Rect olarak ayarlanmışken dokuz dilim görüntünün merkezini belirten bir Enum.ScaleType.Slice . |
Etiket adı
İsim Etiketi Rengi | Hangi oyuncu ile etkileşime girildiğini gösteren çubuk için bir Color3 . |
AdıAlt Çizgi Rengi | Bir Color3 adı etiketi ve eylem düğmeleri arasındaki ince çizgi için. |
Buton çerçevesi
Buton Çerçevesi Rengi | Eylem düğmelerini içeren bölüm (çerçeve) için bir Color3 . |
Buton Çerçevesi Saydamlığı | Buton çerçeve bölümü için saydamlık değeri (0-1). |
Düğme
ButonRenkleri | ACM eylem düğmelerinin arka planı için bir Color3 . |
ButonTransparansı | Eylem düğmelerinin arka plan rengi için saydamlık değeri (0-1) . |
ButonHoverColor rengi | Eylem düğmelerinin "gezinti" durumu için bir Color3 . |
ButonHoverTransparency Teknik Dokümantasyon ButonHoverTransparency | Eylem düğmelerinin "gezinti" rengi için saydamlık değeri (0-1) . |
ButonAlt Çizgi Rengi | Her eylem düğmesini ayıran ince çizgi için bir Color3 . |
ButonGörüntüsü | Butonların arka planı için geçerli bir varlık kimliği. |
ButonGörüntüÖlçekTipi | Buton görüntü ölçeklendirmesi için bir Enum.ScaleType dizi. |
ButonGörüntü Dilimi Merkezi | Bir Rect dokuz dilim görüntünün merkezini belirterek DüğmeGörüntüÖlçeğiTipi Enum.ScaleType.Slice ye ayarlanırken dokuz dilim görüntünün merkezini belirten bir özellik. |
Tekst
Yazı Tipi | Bir Enum.Font ad etiketi ve düğme metni için bir sayısal değer. |
Metin Renği | ACM içindeki tüm metin için bir Color3 . |
Metin Ölçeği | Her bir elemanın varsayılan metin boyutlarını ölçmek için bir yüzde değeri. |
Çeşitli resim
Menü Görüntüsünü Bırak | ACM kapatma düğmesi için bir görüntü ID'si. |
YuvarlananSolGörüntü | Karousel "sol tarafa kaydır" düğmesi için bir görüntü ID'si. |
Sağa Kaydırma Resmi | Karousel "sağa kaydır" düğmesi için geçerli bir varlık kimliği. |
Seçilen karakter
SeçilmişKarakterGöstergesi | Seçili olduklarını göstermek için bir karakterin başının üzerinde yüzen MeshPart . |
Boyut ve konum
Boyut | ACM'nin genel boyutu için bir UDim2 . |
MinBoyut | Bir Vector2 ACM'nin minimum boyutunu belirten |
Maksimum Boyut | A Vector2 ACM'nin maksimum boyutunu belirten bir özellik. |
Bakış Oranı | ACM'nin nispi genişliğini ve yüksekliğini belirten bir yüzde değeri. |
Çapa Noktası | ACM'nin AnchorPoint 'si. |
Ekran Konumu OnScreenPosition | Bir UDim2 ACM'nin ekran konumunu belirten (açıldığında tweens edilen pozisyon). |
Ekran Dışı Konumu | A UDim2 ACM'nin ekran dışı konumunu belirten (açıldığında/kapandığında gençlerin geldiği/gittiği konum). |
Örnek özelleştirme
Aşağıdaki kod örneği, bazı temel parametreler kullanarak ACM temasını özelleştirir:
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})
