Avatar Bağlantı Menüsü

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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:

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çinde
local 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 kullan
StarterGui: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ğiAçıklama
ArkadaşSeçilen kullanıcıya bir arkadaş isteği gönderir.
SohbetDeneyim 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.
DalgalanmaSeç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ır
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- AvatarContextMenuOption.Friend Enum referansıyla varsayılan "Arkadaş" seçeneğini kaldır
StarterGui: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 RengiACM'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 ResmiACM 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 tipiArka plan görüntü ölçeklendirmesi için bir Enum.ScaleType dizi.
Arka Plan Görüntü Dilimi MerkeziArka 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 RengiHangi oyuncu ile etkileşime girildiğini gösteren çubuk için bir Color3 .
AdıAlt Çizgi RengiBir Color3 adı etiketi ve eylem düğmeleri arasındaki ince çizgi için.

Buton çerçevesi

Buton Çerçevesi RengiEylem 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

ButonRenkleriACM 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 rengiEylem 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 RengiHer 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çekTipiButon görüntü ölçeklendirmesi için bir Enum.ScaleType dizi.
ButonGörüntü Dilimi MerkeziBir 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ı TipiBir Enum.Font ad etiketi ve düğme metni için bir sayısal değer.
Metin RenğiACM içindeki tüm metin için bir Color3 .
Metin ÖlçeğiHer 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ırakACM 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 ResmiKarousel "sağa kaydır" düğmesi için geçerli bir varlık kimliği.

Seçilen karakter

SeçilmişKarakterGöstergesiSeçili olduklarını göstermek için bir karakterin başının üzerinde yüzen MeshPart .

Boyut ve konum

BoyutACM'nin genel boyutu için bir UDim2 .
MinBoyutBir Vector2 ACM'nin minimum boyutunu belirten
Maksimum BoyutA 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 OnScreenPositionBir UDim2 ACM'nin ekran konumunu belirten (açıldığında tweens edilen pozisyon).
Ekran Dışı KonumuA 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
})