Menu Konteks Avatar

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

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:

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 valid
StarterGui: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 MenuDeskripsi
TemanMengirim permintaan teman ke pengguna yang dipilih.
chatMembuka percakapan pribadi dengan pengguna yang dipilih dalam obrolan pengalaman.
MelihatMembuka jendela untuk memeriksa penampilanpengguna yang dipilih.
GelombangMenginisialisasi 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 Enum
StarterGui: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 belakangA Color3 untuk latar belakang umum ACM (paling berguna ketika tidak menggunakan gambar latar belakang).
Transparansi Latar BelakangNilai transparansi (0-1) untuk latar belakang umum ACM (paling berguna ketika tidak menggunakan gambar latar belakang).
Gambar Latar BelakangID aset yang valid dari gambar untuk latar belakang ACM.
Transparansi Gambar Latar BelakangNilai transparansi (0-1) untuk gambar latar belakang.
Jenis Skala Gambar Latar BelakangSebuah Enum.ScaleType 枚 untuk skala gambar latar belakang.
Pusat Slot Gambar Latar BelakangSebuah spesifikasi Rect mengidentifikasi pusat dari gambar sembilan slot ketika BackgroundImageScaleType di set ke Enum.ScaleType.Slice .

Label Nama

Warna NamaA Color3 untuk bar yang menunjukkan pemain mana yang berinteraksi.
Warna Nama BawahA Color3 untuk garis tipis antara label nama dan tombol tindakan.

Lingkaran Tombol

Warna TombolA Color3 untuk bagian (Frame) yang berisi tombol tindakan.
Transparansi TombolNilai transparansi (0-1) untuk bagian frame button.

Tombol

WarnaTombolA Color3 untuk latar belakang tombol tindakan ACM.
KesesuaianTombolNilai transparansi (0-1) untuk warna latar tombol tindakan.
WarnaHoverTombolA Color3 untuk status " hover " dari tombol tindakan.
KeseluruhanTransparansiTombolNilai transparansi (0-1) untuk warna " hover " dari tombol tindakan.
Warna Hatlur TombolA Color3 untuk garis tipis yang memisahkan setiap tombol tindakan.
Gambar TombolID aset yang valid dari gambar untuk latar tombol.
Jenis Skala TombolSebuah Enum.ScaleType 枚 untuk skala gambar tombol.
Potongan Gambar TombolSebuah spesifikasi Rect mengidentifikasi pusat dari gambar sembilan slot ketika ButtonImageScaleType di set ke Enum.ScaleType.Slice .

Teks

BidikanNilai Enum.Font untuk tag nama dan teks tombol.
Warna TeksSebuah Color3 untuk semua teks di dalam ACM.
Skala TeksNilai float untuk menyesuaikan ukuran teks default setiap elemen.

Berbagai Gambar

TinggalkanGambarMenuID aset gambar untuk tombol dekat ACM.
Gulir Gambar KiriID aset gambar untuk tombol "gulir kiri" karousel.
Gulir TepatID aset yang valid untuk tombol "gulir kanan" untuk karousel.

Karakter yang Dipilih

Indikator Karakter yang DipilihClass.MeshPart yang mengambang di atas kepala karakter untuk menunjukkan bahwa mereka telah dipilih.

Ukuran dan Posisi

UkuranA UDim2 untuk ukuran keseluruhan ACM.
Ukuran MinSebuah Vector2 yang mengespesifikasi ukuran minimum dari ACM.
Ukuran MaksSebuah Vector2 yang mengespesifikasi ukuran maksimum ACM.
AspekRatioNilai float yang menggambarkan kedudukan lebar dan ketinggian relatif dari ACM.
Titik AnchorClass.GuiObject.AnchorPoint|AnchorPoint dari ACM.
Posisi layarSebuah UDim2 spesifikasi posisi on-screen dari ACM (posisi di mana itu tweens saat dibuka).
Posisi OffScreenSebuah 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
})