Trình đơn Kontext Avatar

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Các Avatar Context Menu (ACM) dễ dàng hơn cho người dùng để tương tác với nhau. Khi ACM được bật trong trải nghiệm của bạn, một người dùng có thể đi bộ lên một yêu cầu kết bạnvật của người dùng khác và nhấp vào họ để mở một menu n

Sau khi bạn bật ACM trong kinh nghiệm của bạn, bạn có thể tùy chỉnh ACM theo các cách sau đây:

Kích Hoạt Trình Bố Trí Nhân Vật

Trình quản lý Avatar phải được kích hoạt bằng cách sử dụng tùy chọn StarterGui:SetCore() "AvatarContextMenuEnabled" trong một LocalScript . Theo mặc định, ACM tốt nhất được sử dụng trong các trải nghiệm không có hành vi được quản lý trước đó cho người nhấ

Sử dụng mẫu mã code sau đây để bật ACM trong một LocalScript :


-- Chạy trong một LocalScript, tốt nhất trong "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

Nếu bạn cần phải kiểm tra xem ACM đã được kích hoạt, bạn có thể sử dụng mã sau đây để trả lại mộtBoolean trên trạng thái hiện tại của ACM:


--Trả lại mộtBoolean cho biết có phải bây giờ ACM được kích hoạt không.
StarterGui:GetCore(AvatarContextMenuEnabled)

Mở và Đóng ACM

Một khi bật, bạn có thể mở và đóng chương trình ACM bằng cách sử dụng StarterGui .

Để mở ACM bằng cách lập trình, hãy sử dụng mã sau đây:


-- Sử dụng StarterGui:SetCore nơi mục tiêuPlayer là một đối tượng người chơi hợp lệ
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Để đóng ACM theo cách chương trình, hãy sử dụng mã sau đây:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Tùy chọn menu

Bạn có thể thêm và loại bỏ hành động qua việc lập trình. Bởi mặc định, menu có các tùy chọn sau:

Tùy chọn menuMô tả
Bạn bèGửi một yêu cầu bạn bè đến người dùng được chọn.
Trò chuyệnMở một cuộc hội thoại riêng tư với người dùng được chọn trong trò chuyện trong kinh nghiệm.
Lượt xemMở một cửa sổ để kiểm tra ngoại hình người dùng được chọn.
SóngKhởi tạo một hoạt họa sóng cho người dùng được chọn.

Một khi ACM được mở, người dùng có thể cuộn dây và chọn người dùng khác trên các lựa chọn nhân vật. Các nhân vật được sắp xếp dựa trên khoảng cách đến nhân vật được chọn. Menu chỉ được cập nhật khi mở và danh sách người dùng có thể lặp lại khi cuộn dây.

Thêm các tùy chọn menu

Một khi bật, các hành động riêng trải nghiệm có thể được thêm vào ACM. Ví dụ, một trải nghiệm có thể cho phép yêu cầu giao dịch, tùy chọn tham gia nhóm hoặc các tương tác khác.

Các ví dụ sau đây cho thấy cách thêm một hành động tùy chỉnh vào Avatar Context Menu:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Kết hợp chức năng với "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- Tại thời điểm này, bạn có thể gọi InvokeServer() trên một hàm tĩnh để cảnh báo máy chủ lựa chọn
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Thêm tùy chọn ACM bằng cách sử dụng SetCore() với "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Loại bỏ lựa chọn menu

Bạn có thể loại bỏ các tùy chọn bên trong và bên ngoài của Add Friend, Trò chuyện, View và Wave từ ACM bằng cách tham khảo tên hành động tùy chỉnh hoặc thư mục tiêu của mặt đầu tiên.

Sử dụng mã sau đây để xóa một lựa chọn menu mặc định và tùy chỉnh:


-- Loại bỏ tùy chọn "Hành động ACM Tùy chỉnh"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- Loại bỏ tùy chọn "Bạn bè" mặc định bằng cách tham khảo AvatarContextMenuOption.Friend Enum
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Tùy chỉnh nhAppearance Menu

Để thay đổi nhìn nền của Avatar Context Menu, call StarterGui:SetCore() với tùy chọn "AvatarContextMenuTheme", cung cấp một table of parameters và giá trị để điều chỉnh hiển thị menu.

Giao diện người dùng ACM bao gồm các mục sau:

A. Tên người chơi: Tên người chơi đang tương tác với.

B. Khung nút: Bao gồm tất cả các nút ACM.

C. Các nút: Các nút cá nhân cho các hành động ACM mặc định hoặc tùy chỉnh.

Cài đặt ngoại hình

Đây là các tham số tùy chỉnh với ACM:

Hình nền

Màu sắc nềnMột Color3 cho toàn bộ nền tảng của ACM (hữu ích nhất khi không sử dụng hình ảnh nền).
Độ trong suốt hậu cầuGiá trị độ trong suốt (0-1) cho hình nền chung của ACM (hữu ích nhất khi không sử dụng hình ảnh nền).
Hình ảnh nềnMột ID hợp lệ của hình ảnh cho hình nền ACM.
Bản chất nềnGiá trị độ trong suốt (0-1) cho hình ảnh nền.
Kích thước hình ảnh nềnMột Enum.ScaleType 열 danh sách cho việc thiết lập kích thước hình ảnh nền.
Bản chỉnh sửa hình ảnh nềnMột Rect specifying the center of a nine-Slice image when BackgroundImageScaleType được set to Enum.ScaleType.Slice .

Thẻ tên

Màu nhãn tênMột Color3 cho thanh hiển thị người chơi đang tương tác với.
Màu mũi tên tênMột Color3 cho dòng mỏng giữa thẻ tên và nút hành động.

Khung nút

Màu nútMột Color3 cho phần (khung) chứa các nút hành động.
Transparency của nútGiá trị độ trong suốt (0-1) cho phần khung nút.

Nút

Màu nútMột Color3 cho phần nền của các nút hành động ACM.
Độ trong suốt của nútGiá trị độ trong suốt (0-1) cho màu nền của nút hành động.
MàuHoverMột Color3 cho trạng thái " hover "của các nút hành động.
Độ trong suốt của nútGiá trị độ trong suốt (0-1) cho màu " hover " của nút hành động.
Màu Đường RayMột Color3 cho dòng mỏng qui tách mỗi nút hành động.
Hình ảnh nútMột ID hợp lệ của hình ảnh cho phông nền của các nút.
Kích thước hình ảnh nútMột Enum.ScaleType 枚 cho việc thiết lập kích thước nút.
Trung tâm hình ảnh nútMột Rect specifying the center of a nine-Slice image when ButtonImageScaleType được set to Enum.ScaleType.Slice .

Văn bản

ChữMột giá trị Enum.Font cho danh nhã và văn bản nút.
Màu chữMột Color3 cho tất cả văn bản trong ACM.
Thước đo chữMột giá trị float để thay đổi kích thước chữ mặc định của mỗi thành phần.

Hình ảnh đa dạng

Rời khỏi hình ảnh menuMột ID hình ảnh của một hình ảnh cho nút đóng gần ACM.
Hình ảnh ScrollLeftMột ID hình ảnh của một hình ảnh cho nút "cuộn dây trái" trên các thiết bị di động.
Hình ảnh ScrollRightMột ID hợp lệ của hình ảnh cho nút "cuộn dây phải" trên các bản diễn.

Nhân vật được chọn

Chỉnh sửa nhân vật được chọnClass.MeshPart nằm trên đầu của một nhân vật để cho biết họ đã được chọn.

Kích thước và vị trí

Kích thướcMột UDim2 cho kích thước tổng thể của ACM.
Kích thước tối thiểuMột Vector2 định kích thước tối thiểu của ACM.
Kích thước tối đaMột Vector2 quy định kích thước tối đa của ACM.
Tỷ lệ kích thướcMột giá trị float định mối quan hệ chiều rộng và chiều cao của ACM.
Điểm AnchorThe AnchorPoint of the ACM.
Vị trí màn hìnhMột UDim2 specifying the on-screen position of the ACM (the position where it tweens to when opened).
OffScreenMột UDim2 specifying the off-screen position of the ACM (the position where it tweens from/to when opened/closed).

Tùy chỉnh ví dụ

Các ví dụ mã sau đây tùy chỉnh chủ đề ACM bằng một số biến cơ bản:


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
})