Gian hàng ảnh

*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.

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:

  1. Từ trang Xem, mở trang Hộp công cụ và chọn trang Cửa hàng Creator .

    Toolbox toggle button in Studio
  2. Đả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 .

  3. Tìm và nhấp vào Dev Modules mảnh.

  4. Tìm mô-đun Gian hàng ảnh và nhấp vào nó, hoặc kéo nó vào 3D view.

  5. 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.

  1. Tìm mạng PhotoBooth trong thư mục Workspace của modul chính.

  2. 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:

  1. Trong StarterPlayerScripts , tạo một LocalScript mới và đổi tên nó thành Tùy chỉnhPhòng chờ .

  2. Sao chép mã sau đây vào một tập tin mới.

    LocalScript - Tùy chỉnh gian hàng

    local 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ả ScreenGuisCoreGuis 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

điều chỉnh(config: table )

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óaMô tảMặc định
frameMessageTin 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ẻ!”
fadeUiDelayThờ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
closeButtonImageHì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”
closeButtonBackgroundImageHình ảnh nền để sử dụng cho nút đóng hình ảnh.“rbxassetid://7027440891”
cameraLandscapePositionKhoả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)
cameraPortraitPositionKhoảng cách của máy ảnh gian hàng trong khi chụp ảnh trong chế độ chân dung (Vector2).(10, 1)
countdownFontFont để sử dụng cho các số đếm ngược ( Enum.Font ).GothamBlack
countdownTextColorMàu của các số trong đếm ngược ( Color3 ).[255, 255, 255]
printoutCharacterPositionVị trí của nhân vật trên màn hình khi in ( UDim2 ).(0.5, 0, 0.5, 0)
printoutCharacterSizeSố không gian màn hình mà nhân vật chiếm trong printout ( UDim2 ).(1, 0, 1, 0)
characterAnimationID 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”
filterImageHì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

setBackgrounds(背景: backgrounds: table )

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

ẩnCácGuisKhác( callback: function )

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

hiển thịOtherGuis( callback: function )

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