Chụp ảnh là cách tuyệt vời để ghi lại một trải nghiệm tuyệt vời. The PhotoBooth 模块开发者 là một công cụ dễ dàng sử dụng để cho phép người chơi đưa ra một tư thế độc đáo với một nền để bố trí trải nghiệm của họ.
Sử dụng mô-đun
Cài đặt
Để sử dụng module PhotoBooth trong một trải nghiệm:
Từ trang Xem, mở trang Hộp công cụ và chọn trang Cửa hàng Creator .
Đảm bạn chắn chọn Mô Hình sắp xếp, then click the Xem tất cả button for Các danh mục .
Tìm và nhấp vào Dev Modules mảnh.
Tìm mô-đun Gian hàng ảnh và nhấp vào nó, hoặc kéo nó vào 3D view.
Trong cửa sổ Explorer, di chuyển toàn bộ mô hình PhotoBooth đến ServerScriptService . Khi chạy trải nghiệm, mô-đun sẽ được phân phối đến các dịch vụ khác nhau và bắt đầu chạy.
Đang đặt Booth
Modul này đi kèm với một mô hình PhotoBooth mà bạn có thể đặt trong thế giới 3D. Đây là những gì người chơi sẽ tương tác để cài đặt một bức ảnh.
Tìm mạng PhotoBooth trong thư mục Workspace của modul chính.
Di chuyển nó vào cấp độ cao nhất Workspace và đặt nó ở vị trí mà bạn muốn.
Tùy chỉnh
Modul đã được cấu hình để hoạt động cho hầu hết các trường hợp dùng, nhưng nó có thể được tùy chỉnh dễ dàng thông qua chức năng 配置. Ví dụ, để thay đổi thông điệp mặc định ở phía dưới của bức ảnh:
Trong StarterPlayerScripts , tạo một LocalScript mới và đổi tên nó thành Tùy chỉnhPhòng chờ .
Sao chép mã sau đây vào một tập tin mới.
LocalScript - Tùy chỉnh gian hànglocal ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.configure({frameMessage = "First Photo Booth Capture!",})
Kết Nối với Sự Kiện
Mỗi lần gian hàng photo hiển thị một màn hình mới cho một khách hàng địa phương, một sự kiện tương ứng tương ứng được kích hoạt. Các sự kiện này có thể được kết nối trong một LocalScript để bạn có thể phản hồi với logics của riêng bạn.
Script địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.countdownStarted:Connect(function()
print("The countdown has started")
end)
PhotoBooth.printoutShown:Connect(function()
print("The printout is showing")
end)
PhotoBooth.promptShown:Connect(function()
print("The camera prompt is showing")
end)
Hiển thị GUI
Mặc định, gian hàng photo che giấu tất cả ScreenGuis và CoreGuis khi một bức ảnh được thực hiện. Nếu bạn muốn bỏ qua hành động ẩn điều này và l
Script địa phương
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local hiddenInstances = {}
-- Tạo một GUI màn hình không bị ẩn
local specialGuiInstance = Instance.new("ScreenGui")
-- Vẽ GUI màn hình trên GUI gian hàng photo
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Đặt thuộc tính trên GUI màn hình để ngăn chặn việc ẩn
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- Thêm nhãn văn bản vào GUI
local specialLabel = Instance.new("TextLabel")
specialLabel.Size = UDim2.fromScale(1, 0.1)
specialLabel.Text = "Remains visible when taking a photo"
specialLabel.Font = Enum.Font.GothamMedium
specialLabel.TextSize = 24
specialLabel.Parent = specialGuiInstance
PhotoBooth.hideOtherGuis(function()
-- Ẩn tất cả các GUI màn hình định nghĩa của người phát triển trừ những GUI đó được gắn nhãn
local instances = playerGui:GetChildren()
for _, instance in instances do
if instance:IsA("ScreenGui") and not instance:GetAttribute("ShowInPhotoBooth") and instance.Enabled then
instance.Enabled = false
table.insert(hiddenInstances, instance)
end
end
-- Ẩn các GUIs trung tâm especific
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
PhotoBooth.showOtherGuis(function()
-- Hiển thị tất cả các GUI màn hình đã được định nghĩa của nhà phát triển
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Hiển thị các GUIs trung tâm chính xác đã được ẩn
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)
Tham khảo API
Hàm
điều chỉnh
Làm mất các lựa chọn cài đặt mặc định qua các chìa khóa/giá trị được đề xuất dưới đây trong bảng config . Chức năng này chỉ có thể được gọi từ một LocalScript .
Chìa khóa | Mô tả | Mặc định |
---|---|---|
frameMessage | Tin nhắn được hiển thị ở phía dưới của bức ảnh. Thời gian hiển thị có thể được điều khiển thông qua thuộc tính fadeUiDelay. | “Sử dụng thiết bị của bạn để chụp một screenshot và chia sẻ!” |
fadeUiDelay | Thời gian để hiển thị thông điệp khung trước khi nó biến mất, trong giây. Đặt cài đặt là một số âm để không bao giờ bị mờ dần. | 3 |
closeButtonImage | Hình ảnh để sử dụng cho nút đóng hình ảnh, đặt trên trên cùng của hình ảnh closeButtonBackgroundImage . | “rbxassetid://7027440823” |
closeButtonBackgroundImage | Hình ảnh nền để sử dụng cho nút đóng hình ảnh. | “rbxassetid://7027440891” |
cameraLandscapePosition | Khoảng cách của máy ảnh gian hàng, trước và lên trên từ nhân vật, khi chụp ảnh trong chế độ景观 ( Vector2 ). | (5, 2) |
cameraPortraitPosition | Khoảng cách của máy ảnh gian hàng trong khi chụp ảnh trong chế độ chân dung (Vector2). | (10, 1) |
countdownFont | Font để sử dụng cho các số đếm ngược ( Enum.Font ). | GothamBlack |
countdownTextColor | Màu của các số trong đếm ngược ( Color3 ). | [255, 255, 255] |
printoutCharacterPosition | Vị trí của nhân vật trên màn hình khi in ( UDim2 ). | (0.5, 0, 0.5, 0) |
printoutCharacterSize | Số không gian màn hình mà nhân vật chiếm trong printout ( UDim2 ). | (1, 0, 1, 0) |
characterAnimation | ID tài nguyên của hoạt họa mà nhân vật nhận trong bức ảnh, đã tạm dừng ở khung khởi động của nó. | “rbxassetid://6899663224” |
filterImage | Hình ảnh để áp dụng trên bức ảnh như một bộ lọc. Nếu nil , một lọc mặc định mà làm cho các cạnh hình ảnh bị tối sẽ được sử dụng. | nil |
LocalScript - Tùy chỉnh gian hàng
local ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.configure({frameMessage = "What a cool pose!",fadeUiDelay = 5,maxActivationDistance = 5,printoutCharacterSize = UDim2.fromScale(1.5, 1.5),})
setHình nền
Làm mất đi các hình nền mặc định cung cấp bởi máy bay photo. Hình ảnh nền nên ở tỷ lệ kích thước 16:9 (1024×768) cho một trải nghiệm tối ưu và ID tài sản của họ nên được bao gồm trong các bảng nền. 1–4 (bao gồm) nền có thể được cung c
Script địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.setBackgrounds({"rbxassetid://7018713114","rbxassetid://950538356",})
Sự kiện
đã bắt đầu đếm ngược
Lửa khi đếm ngược bắt đầu. Sự kiện này chỉ có thể được kết nối trong một LocalScript .
Script địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.countdownStarted:Connect(function()
print("The countdown has started")
end)
打印
Làm nổ khi in đã được hiển thị cho người dùng. Sự kiện này chỉ có thể kết nối trong một LocalScript .
Script địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.printoutShown:Connect(function()
print("The printout is showing")
end)
đã hiển thị
Lửa khi in đóng và nút máy ảnh hiện lên một lần nữa. Sự kiện này chỉ có thể được kết nối trong một LocalScript .
Script địa phương
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.promptShown:Connect(function()
print("The camera prompt is showing")
end)
Các hàm gọi
ẩnCácGuis khác
Callback này chạy ngay trước khi bản in được hiển thị, cho phép bạn tắt toàn bộ ScreenGuis hoặc các thành phần trong nó trước khi bản in được hiển thị. GUI được sử dụng bởi gian hàng photo có thẻ mã<
hiển thị OtherGuis
Callback này được thực hiện sau khi in đã đóng, cho phép bạn bật lại toàn bộ ScreenGuis hoặc các thành phần trong chúng. GUI được sử dụng bởi gian mãphoto có thẻ đặt để hiển thị trong photo . Xem