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) membuatnya lebih mudah bagi pengguna untuk berinteraksi satu sama lain.Ketika ACM diaktifkan dalam pengalaman Anda, pengguna dapat berjalan ke karakter pengguna lain dan klik mereka untuk membuka menu kecil dengan beberapa opsi default.Pemain dapat mengirim permintaan permintaan pertemanan, memulai obrolan pribadi, melihat profil pengguna, atau gelombang.

Setelah menyalakan ACM dalam pengalaman Anda, Anda dapat menyesuaikan ACM dengan cara berikut:

Aktifkan 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 yang telah ditentukan sebelumnya untuk mengklik pengguna lain.

Gunakan contoh kode berikut untuk mengaktifkan ACM di LocalScript :


-- Jalankan di 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 boolean pada status saat ini dari ACM:


--Kembalikan boolean yang menunjukkan apakah ACM saat ini diaktifkan.
StarterGui:GetCore(AvatarContextMenuEnabled)

Buka dan tutup ACM

Setelah diaktifkan, Anda dapat membuka dan menutup program ACM secara programatik dengan StarterGui.

Untuk membuka ACM secara programatik, gunakan kode berikut:


-- Gunakan StarterGui:SetCore di mana targetPlayer adalah objek Pemain yang valid
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Untuk menutup ACM secara programatik, gunakan kode berikut:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opsi menu

Anda dapat menambahkan dan menghapus tindakan melalui scripting. Secara default, menu memiliki opsi berikut:

Opsi menuDeskripsi
RakanMengirim permintaan teman ke pengguna yang dipilih.
chatMembuka percakapan pribadi dengan pengguna yang dipilih di obrolan dalam pengalaman.
MelihatMembuka jendela untuk memeriksa penampilan pengguna yang dipilih.
GelombangMemulai animasi gelombang ke pengguna yang dipilih.

Setelah ACM terbuka, pengguna dapat menggulir dan memilih pengguna lain di kartu seleksi karakter.Karakter disortir berdasarkan jarak ke karakter yang dipilih.Menu hanya diperbarui saat dibuka dan daftar pengguna yang tersedia akan diulang saat diseret.

Tambahkan opsi menu

Setelah diaktifkan, tindakan khusus pengalaman dapat ditambahkan ke ACM.Sebagai contoh, pengalaman mungkin memungkinkan permintaan perdagangan, opsi tambah ke pihak, 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 bisa memanggil InvokeServer() pada RemoteFunction untuk memperingatkan server tentang 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)

Hapus opsi menu

Anda dapat menghapus opsi Kustom dan Default Tambah Teman, chat, Pandang, dan Gelombang dari ACM dengan merujuk pada nama Tindakan khusus atau Enum.AvatarContextMenuOption enum default.

Gunakan kode berikut untuk menghapus opsi menu default dan khusus:


-- Hapus opsi "Aksi ACM Kustom"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- Hapus opsi "Teman" default dengan merujuk ke AvatarContextMenuOption.Friend Enum
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Sesuaikan 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. Tag Nama: Nama pengguna karakter yang berinteraksi.

B. Frame Tombol: Berisi 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 saat tidak menggunakan gambar latar belakang).
Transparansi Latar BelakangNilai transparansi (0–1) untuk latar belakang keseluruhan ACM (paling berguna saat 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.
Tipe Skala Gambar Latar BelakangSebuah Enum.ScaleType enum untuk skala gambar latar belakang.
Pusat Background Gambar SliceSebuah Rect menentukan pusat dari gambar sembilan bagian ketika BackgroundImageScaleType diatur ke Enum.ScaleType.Slice.

Tag nama

NamaTagWarnaA Color3 untuk bilah yang menunjukkan pemain mana yang berinteraksi.
Warna Garis Bawa NamaA Color3 untuk garis tipis antara tag nama dan tombol tindakan.

Bingkai button

Warna Frame TombolA Color3 untuk bagian (frame) yang berisi tombol tindakan.
ButtonFrameTransparansiNilai transparansi (0–1) untuk bagian frame tombol.

Tombol

Warna TombolA Color3 untuk latar belakang tombol tindakan ACM.
Transparansi TombolNilai transparansi (0–1) untuk warna latar belakang tombol tindakan.
Warna Tombol HoverA Color3 untuk status "hover" dari tombol tindakan.
ButtonHoverTransparencyNilai transparansi (0–1) untuk warna "hover" dari tombol aksi.
Warna Garis Bawah TombolA Color3 untuk garis tipis yang memisahkan setiap tombol tindakan.
Gambar TombolID aset yang valid dari gambar untuk latar belakang tombol.
Tipe Skala Gambar TombolSebuah Enum.ScaleType enum untuk skala gambar tombol.
Pusat Gambar TombolSebuah Rect menentukan pusat dari gambar sembilan bagian ketika ButtonImageScaleType diatur ke Enum.ScaleType.Slice.

Teks

Jenis hurufSebuah nilai enum Enum.Font untuk tag nama dan teks tombol.
Warna TeksA Color3 untuk semua teks di dalam ACM.
Skala TeksNilai mengambang untuk menycalakan ukuran teks default dari setiap elemen.

Berbagai gambar

Tinggalkan Menu GambarID aset dari gambar untuk tombol tutup ACM.
Gulir Gambar KiriID aset dari gambar untuk tombol "scroll kiri" di karousel.
Gulir Gambar KananID aset yang valid dari gambar untuk tombol "gulir kanan" di karousel.

Karakter yang dipilih

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

Ukuran dan posisi

UkuranA UDim2 untuk ukuran keseluruhan ACM.
MinUkuranSebuah Vector2 menentukan ukuran minimum ACM.
Ukuran MaksimumSebuah Vector2 menentukan ukuran maksimum ACM.
Rasio AspekSebuah nilai float yang menentukan lebar dan ketinggian relatif dari ACM.
Titik AnchorThe AnchorPoint dari ACM.
Di Posisi LayarSebuah UDim2 menentukan posisi di layar ACM (posisi di mana remaja berada saat dibuka).
Posisi Layar MatiSebuah UDim2 menentukan posisi off-screen ACM (posisi di mana remaja berasal/ke ketika dibuka/tutup).

Contoh kustomisasi

Contoh kode berikut menyesuaikan tema ACM 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
})