Mengambil foto adalah cara yang sempurna untuk menghormati pengalaman hebat. The PhotoBooth modul pengembang adalah alat foto yang mudah digunakan yang memungkinkan para pemain menyerang posisi yang unik dengan latar belakang yang mewakili pengalaman mereka.
Penggunaan Modul
Pemasangan
Untuk menggunakan modul PhotoBooth dalam pengalaman:
Dari tab Lihat, buka tab Kotak Alat dan pilih tab Toko Pencipta .
Pastikan Model penyortiran dipilih, lalu klik tombol Lihat Semua untuk Kategori .
Temukan dan klik Modul Dev ubin.
Temukan modul Photo Booth dan klik, atau seret-seret ke dalam pandangan 3D.
Di jendela Explorer, pindahkan seluruh model PhotoBooth ke ServerScriptService . Setelah mengeksekusi pengalaman, modul akan di distribusikan ke berbagai layanan dan mulai berjalan.
Menempatkan Booth
Modul ini hadir dengan satu PhotoBooth model yang dapat Anda posisikan di dunia 3D. Ini adalah apa yang pemain akan berinteraksi untuk menyiapkan foto.
Temukan PhotoBooth meshes di dalam Folder utama Folder utama modul. Lokasi PhotoBooth meshes di dalam Folder utama Folder utama modul.
Pindahkan ke tingkat tertinggi Workspace hierarki dan posisikan di mana diinginkan.
Konfigurasi
Modul ini telah dikonfigurasi untuk bekerja untuk kebanyakan kasus pengguna, tetapi dapat dengan mudah disesuaikan melalui fungsi konfigurasikan. Misalnya, untuk mengubah pesan default di bagian bawah foto:
Dalam StarterPlayerScripts , buat LocalScript baru dan ganti nama menjadi ConfigurePhotoBooth .
Tempaste kode berikut ke dalam naskah baru.
Skrip Lokal - Konfigurasi PhotoBoothlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.configure({frameMessage = "First Photo Booth Capture!",})
Mengikuti Acara
Setiap kali stan foto menunjukkan layar baru kepada klien lokal, acara yang sesuai diaktifkan. Acara ini dapat dihubungkan dalam LocalScript sehingga Anda dapat menanggapi dengan logika khusus Anda.
Skrip Lokal
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)
Kesadaran GUI
Secara default, stan foto menyembunyikan semua ScreenGuis dan CoreGuis ketika foto dipanggil. Jika Anda ingin mengubah perilaku penyembunyian otomatis ini dan secara programmatis memutuskan mana GUI yang harus tetap terlihat, termasuk hideOther
Skrip Lokal
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 = {}
-- Buat GUI layar yang tidak akan tersembunyi
local specialGuiInstance = Instance.new("ScreenGui")
-- Gambil GUI layar di atas GUI stan foto
specialGuiInstance.DisplayOrder = 1
specialGuiInstance.Parent = playerGui
-- Tetapkan atribut di GUI layar untuk mencegah menyembunyikan
specialGuiInstance:SetAttribute("ShowInPhotoBooth", true)
-- Tambahkan label teks ke 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()
-- Sembunyikan semua GUI layar yang didefinisikan oleh pengembang kecuali yang ditandai dengan属性
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
-- Sembunyikan GUI inti khusus
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
end)
PhotoBooth.showOtherGuis(function()
-- Tunjukkan semua GUI layar yang didefinisikan oleh pengembang yang tersembunyi
for _, instance in hiddenInstances do
instance.Enabled = true
end
hiddenInstances = {}
-- Tampilkan GUI inti khusus yang tersembunyi
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
end)
Referensi API
Fungsi
mengonfigurasi
Menggeser opsi konfigurasi default melalui kunci/值 berikut ini dalam tabel config . Fungsi ini hanya dapat dipanggil dari LocalScript .
Kunci | Deskripsi | Standar |
---|---|---|
frameMessage | Pesan yang ditunjukkan di bagian bawah foto. Durasinya dapat diperiksa melalui properti fadeUiDelay. | “Gunakan perangkat Anda untuk mengambil tangkapan layar dan bagikan!” |
fadeUiDelay | Saatnya untuk menunjukkan pesan frame sebelum menudar, dalam detik. Tetapkan untuk angka negatif untuk tidak pernah memudar. | 3 |
closeButtonImage | Gambar untuk digunakan untuk tombol foto dekat, ditempatkan di atas gambar closeButtonBackgroundImage . | “rbxassetid://7027440823” |
closeButtonBackgroundImage | Gambar latar belakang untuk digunakan untuk tombol foto dekat. | “rbxassetid://7027440891” |
cameraLandscapePosition | Jarak kamera stan foto, di depan dan ke atas dari karakter, saat mengambil foto dalam mode lanskap (Vector2). | (5, 2) |
cameraPortraitPosition | Jarak kamera stan foto, di depan dan ke atas dari karakter, saat mengambil foto dalam mode potret (Vector2). | (10, 1) |
countdownFont | Font untuk digunakan untuk angka dalam hitung mundur (Enum.Font). | GothamBlack |
countdownTextColor | Warna nomor dalam countdown ( Color3 ). | [255, 255, 255] |
printoutCharacterPosition | Posisi karakter di layar saat printout menunjukkan ( UDim2 ). | (0.5, 0, 0.5, 0) |
printoutCharacterSize | Jumlah ruang layar yang ditempati karakter dalam printout ( UDim2 ). | (1, 0, 1, 0) |
characterAnimation | ID aset dari animasi yang dibawa karakter ke dalam foto, ditunda di frame awalnya. | “rbxassetid://6899663224” |
filterImage | Gambar untuk diterapkan di atas foto sebagai filter. Jika nil , filter default yang memutihkan sudut gambar akan digunakan. | nil |
Skrip Lokal - Konfigurasi PhotoBooth
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),})
setLatar Belakang
Menggeser latar belakang default yang disediakan oleh stan foto. Gambar latar belakang harus berada di aspek rasio 16: 9 (1024 × 768) untuk pengalaman yang optimal dan ID aset mereka harus dicakup dalam matriksi latar belakang. 1–4 (termasuk) latar belakang dapat disediakan.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))PhotoBooth.setBackgrounds({"rbxassetid://7018713114","rbxassetid://950538356",})
Acara
countdownDimulai
Diaktifkan saat hitung mundur dimulai. Acara ini hanya dapat dihubungkan dalam sebuah LocalScript .
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.countdownStarted:Connect(function()
print("The countdown has started")
end)
printoutTerlihat
Diaktifkan saat cetakan ditunjukkan kepada pengguna. Acara ini hanya dapat dihubungkan dalam LocalScript .
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.printoutShown:Connect(function()
print("The printout is showing")
end)
promptTampilan
Diaktifkan saat cetakan ditutup dan tombol kamera muncul lagi. Acara ini hanya dapat dihubungkan dalam LocalScript .
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PhotoBooth = require(ReplicatedStorage:WaitForChild("PhotoBooth"))
PhotoBooth.promptShown:Connect(function()
print("The camera prompt is showing")
end)
Panggilan
sembunyikanGuis lainnya
Panggilan ini berjalan segera sebelum cetakan ditampilkan, memungkinkan Anda menonaktifkan seluruh ScreenGuis atau elemen di dalamnya sebelum cetakan ditampilkan. GUI yang digunakan oleh stan foto memiliki属性 Tampilkan di PhotoBooth set ke true . Lihat 1> Keselamatan G
tampilkan OtherGuis
Panggilan ini dijalankan setelah pencetakan ditutup, memungkinkan Anda mengaktifkan kembali seluruh ScreenGuis atau elemen di dalamnya. GUI yang digunakan oleh stan foto memiliki atribut Tampilkan di PhotoBooth set ke true . Lihat 1> Keselamatan GUI1> untuk detail dan kode samp