Menu Konteks Avatar (ACM) membuat lebih mudah bagi pengguna untuk berinteraksi satu sama lain. Saat ACM diaktifkan dalam pengalaman Anda, seorang pengguna dapat berjalan ke karakter pengguna lain dan mengklik mereka untuk membuka menu kecil dengan beberapa pilihan default. Pemain dapat mengirim permintaan permintaan pertemanan, memulai obrolan pribadi, meninjau profil pengguna
Setelah mengaktifkan ACM di pengalaman Anda, Anda dapat menyesuaikan ACM dengan cara berikut:
- Secara programatis buka dan tutup ACM untuk pengguna spesifik.
- Sesuaikan tampilan ACM untuk menciptakan antarmuka pengguna yang unik.
Mengaktifkan Menu Konteks Avatar
Menu Konteks Avatar harus diaktifkan menggunakan opsi StarterGui:SetCore() "AvatarContextMenuEnabled" di LocalScript . ACM paling baik digunakan dalam pengalaman di mana tidak ada perilaku pra-definisi untuk mengklik pengguna lain.
Gunakan contoh kode berikut untuk mengaktifkan ACM di LocalScript :
-- Jalankan dalam LocalScript, idealnya dalam "StarterPlayerScripts"local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
Jika Anda perlu mendeteksi apakah ACM diaktifkan, Anda dapat menggunakan kode berikut untuk mengembalikan booleh atas status saat ini ACM:
--Kembalian true menunjukkan jika ACM saat ini diaktifkan.StarterGui:GetCore(AvatarContextMenuEnabled)
Membuka dan Menutup ACM
Setelah diaktifkan, Anda dapat membuka dan menutup program ACM secara programatis dengan StarterGui.
Untuk membuka secara programtis ACM, gunakan kode berikut:
-- Gunakan StarterGui:SetCore di mana targetPlayer adalah objek Pemain yang validStarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)
Untuk secara programatik menutup ACM, gunakan kode berikut:
StarterGui:SetCore("AvatarContextMenuTarget", nil)
Opsi Menu
Anda dapat tambahkan dan menghapus tindakan melalui scripting. Secara default, menu memiliki opsi berikut:
Opsi Menu | Deskripsi |
---|---|
Teman | Mengirim permintaan teman ke pengguna yang dipilih. |
chat | Membuka percakapan pribadi dengan pengguna yang dipilih dalam obrolan pengalaman. |
Melihat | Membuka jendela untuk memeriksa penampilanpengguna yang dipilih. |
Gelombang | Menginisialisasi animasi gelombang ke pengguna yang dipilih. |
Setelah ACM dibuka, pengguna dapat menggulir dan memilih pengguna lain di karakter seleksi karakter. Karakter diurutkan berdasarkan jarak ke karakter yang dipilih. Menu hanya diperbarui ketika dibuka dan daftar pengguna yang tersedia akan diulang saat dib滚.
Menambahkan Opsi Menu
Setelah diaktifkan, tindakan khusus pengalaman dapat ditambahkan ke ACM. Misalnya, pengalaman mungkin memungkinkan permintaan perdagangan, opsi tambahkan ke pesta, atau interaksi khusus lainnya.
Contoh berikut menunjukkan cara menambahkan tindakan khusus ke Menu Konteks Avatar:
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Hubungkan fungsi ke "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- Pada titik ini, Anda dapat memanggil InvokeServer() di RemoteFunction untuk mengirimkan server pilihan
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Tambahkan opsi ACM menggunakan SetCore() dengan "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)
Menghapus Opsi Menu
Anda dapat menghapus opsi Teman, chat, Pandangan, dan Gelombang khusus dari ACM dengan mengacu pada nama aksi khusus atau daftar Enum.AvatarContextMenuOption default.
Gunakan kode berikut untuk menghapus opsi menu default dan khusus:
-- Hapus opsi "Tindakan ACM Kustom"StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- Hapus opsi "Teman" default dengan mengacu pada AvatarContextMenuOption.Friend EnumStarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
Menyesuaikan Penampilan Menu
Untuk mengubah tampilan Menu Konteks Avatar, panggil StarterGui:SetCore() dengan opsi "AvatarContextMenuTheme", menyediakan tabel parameter dan nilai untuk menyesuaikan penampilanmenu.
Antarmuka pengguna ACM termasuk bagian berikut:
A. Nama Tag: Nama pengguna karakter yang diinteraksi.
B. Frame Tombol: Mengandung semua tombol ACM.
C. Tombol: Tombol individu untuk tindakan ACM default atau khusus.
Parameter Penampilan
Ini adalah parameter kustomisasi dengan ACM:
Latar belakang
Warna latar belakang | A Color3 untuk latar belakang umum ACM (paling berguna ketika tidak menggunakan gambar latar belakang). |
Transparansi Latar Belakang | Nilai transparansi (0-1) untuk latar belakang umum ACM (paling berguna ketika tidak menggunakan gambar latar belakang). |
Gambar Latar Belakang | ID aset yang valid dari gambar untuk latar belakang ACM. |
Transparansi Gambar Latar Belakang | Nilai transparansi (0-1) untuk gambar latar belakang. |
Jenis Skala Gambar Latar Belakang | Sebuah Enum.ScaleType 枚 untuk skala gambar latar belakang. |
Pusat Slot Gambar Latar Belakang | Sebuah spesifikasi Rect mengidentifikasi pusat dari gambar sembilan slot ketika BackgroundImageScaleType di set ke Enum.ScaleType.Slice . |
Label Nama
Warna Nama | A Color3 untuk bar yang menunjukkan pemain mana yang berinteraksi. |
Warna Nama Bawah | A Color3 untuk garis tipis antara label nama dan tombol tindakan. |
Lingkaran Tombol
Warna Tombol | A Color3 untuk bagian (Frame) yang berisi tombol tindakan. |
Transparansi Tombol | Nilai transparansi (0-1) untuk bagian frame button. |
Tombol
WarnaTombol | A Color3 untuk latar belakang tombol tindakan ACM. |
KesesuaianTombol | Nilai transparansi (0-1) untuk warna latar tombol tindakan. |
WarnaHoverTombol | A Color3 untuk status " hover " dari tombol tindakan. |
KeseluruhanTransparansiTombol | Nilai transparansi (0-1) untuk warna " hover " dari tombol tindakan. |
Warna Hatlur Tombol | A Color3 untuk garis tipis yang memisahkan setiap tombol tindakan. |
Gambar Tombol | ID aset yang valid dari gambar untuk latar tombol. |
Jenis Skala Tombol | Sebuah Enum.ScaleType 枚 untuk skala gambar tombol. |
Potongan Gambar Tombol | Sebuah spesifikasi Rect mengidentifikasi pusat dari gambar sembilan slot ketika ButtonImageScaleType di set ke Enum.ScaleType.Slice . |
Teks
Bidikan | Nilai Enum.Font untuk tag nama dan teks tombol. |
Warna Teks | Sebuah Color3 untuk semua teks di dalam ACM. |
Skala Teks | Nilai float untuk menyesuaikan ukuran teks default setiap elemen. |
Berbagai Gambar
TinggalkanGambarMenu | ID aset gambar untuk tombol dekat ACM. |
Gulir Gambar Kiri | ID aset gambar untuk tombol "gulir kiri" karousel. |
Gulir Tepat | ID aset yang valid untuk tombol "gulir kanan" untuk karousel. |
Karakter yang Dipilih
Indikator Karakter yang Dipilih | Class.MeshPart yang mengambang di atas kepala karakter untuk menunjukkan bahwa mereka telah dipilih. |
Ukuran dan Posisi
Ukuran | A UDim2 untuk ukuran keseluruhan ACM. |
Ukuran Min | Sebuah Vector2 yang mengespesifikasi ukuran minimum dari ACM. |
Ukuran Maks | Sebuah Vector2 yang mengespesifikasi ukuran maksimum ACM. |
AspekRatio | Nilai float yang menggambarkan kedudukan lebar dan ketinggian relatif dari ACM. |
Titik Anchor | Class.GuiObject.AnchorPoint|AnchorPoint dari ACM. |
Posisi layar | Sebuah UDim2 spesifikasi posisi on-screen dari ACM (posisi di mana itu tweens saat dibuka). |
Posisi OffScreen | Sebuah spesifikasi UDim2 menggambarkan posisi off-screen dari ACM (posisi di mana itu tweens dari/to ketika dibuka/tutup). |
Contoh Kustomisasi
Berikut contoh kode khusus menggunakan beberapa parameter dasar:
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})